В решении 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 - я думаю, что они просто использовали его).
Что это может быть?