Я только что создал проект ASP.NET С# и виртуальный каталог для него в IIS в (насколько мне известно) обычным способом, но я вижу очень странное поведение, которого я никогда раньше не видел.
Кажется, что none моих методов С# вызывается. Я знаю это, потому что я переопределил кучу методов, чтобы ничего не делать, кроме исключения. По крайней мере, Default.aspx можно просмотреть в браузере (см. Ниже)
Вот точный контент моего файла Default.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Drawings2
{
public partial class _Default : System.Web.UI.Page
{
static _Default()
{
throw new Exception("XXX");
}
public _Default()
{
throw new Exception("XXX");
}
override protected void OnInit(EventArgs e)
{
/*
* base.OnInit(e);
* InitializeComponent();
*/
throw new Exception("XXX");
}
private void InitializeComponent()
{
/*
* Load += new EventHandler(this.Page_Load);
*/
throw new Exception("XXX");
}
protected void Page_Load(object sender, EventArgs e)
{
throw new Exception("XXX");
}
}
}
Я предполагаю, что этот код вообще не загружается, потому что если бы это было тогда, я бы увидел исключение всякий раз, когда пытался просмотреть страницу в браузере. Вместо этого содержимое из файла .aspx появляется нормально (за исключением того, что мои обработчики событий не вызываются.)
Ухудшается, когда я пытаюсь добавить новые страницы .aspx. Я получаю эту ошибку, когда пытаюсь просмотреть новую страницу в браузере (это с немодифицированным файлом .cs из шаблона VS2008): Ошибка Parser
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'Drawings2.WebForm1'.
Что может привести к тому, что сайт ASP.NET попадет в это странное состояние?
Примечание: <%...%>
экраны в файле .aspx все еще работают нормально. Кроме того, когда я добавляю поля формы в файл .aspx, я могу автоматически заполнить их имена в файле .cs. Я попробовал как true
, так и false
для AutoEventWireup
на обеих страницах. Я также пытался добавить и удалить "частичный" из всех объявлений классов.
Обновить - вот теги @Page. Как я уже сказал, я попытался переключиться на AutoEventWireup
. Имеющиеся ссылки файлы .cs
существуют и компилируются без ошибок.
<%@ Page Language="C#" AutoEventWireup="false" CodeBehind="Default.aspx.cs" Inherits="Drawings2._Default" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Drawings2.WebForm1" %>
по теме: