在 nopCommerce 解决方案中,我们需要用一个非常简单的新页面替换现有的 ASP.NET 页面,该页面只显示一条消息。我们新的 ASP.NET 页面根本没有引用任何与 nopCommerce 相关的内容,没有任何代码,没有任何东西可以提示我为什么会发生以下情况:
一行代码会自动插入到呈现的 HTML 中(在本例中,是指向默认主题 css 文件的链接)。
这是新的 ASP.NET 文件的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CheckoutCompleted.aspx.cs" Inherits="CheckoutCompleted" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Shop</title>
</head>
<body>
<form id="form1" runat="server">
<div>Your order has now been completed.</div>
</form>
</body>
</html>
这会呈现给浏览器:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Shop</title>
<link href="App_Themes/DarkOrange/styles.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form name="form1" method="post" action="CheckoutCompleted.aspx" id="form1">
<div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTQwMDkzNTAzN2Rk4txlLxJclpkuKfo1dNvs77An124dQqbJKyMfrIgvgaY=" /></div>
<div>Your order has now been completed.</div>
</form>
</body>
</html>
CheckoutCompleted.cs(我们自己的,新的)背后的代码如下所示:
public partial class CheckoutCompleted : System.Web.UI.Page
{
}
执行在 Page_Load 中设置的断点处停止,因此引用了正确的 .cs。
所以一些机制增加了一条新线。我检查了 web.config 的提示,但我想我不知道一些很酷的 ASP.NET 功能(独立于 nopCommerce - 我认为他们只是使用它)。
它可能是什么?