这是我以前没有遇到过的问题。
我正在开发一个MVC4项目。由于没有可以用于按钮的Html Helper(参见:There's no @Html.Button !),所以我使用了asp按钮控件。我的按钮代码如下:
<td><asp:Button ID="ButtonUndo" runat="server" Text="Undo"
OnClick="ButtonUndo_Click" AutoPostBack="true"/></td>
我进入了设计师选项卡,并单击了这个按钮,这会生成事件处理程序:
protected void ButtonUndo_Click(object sender, EventArgs e)
{
RRSPSqlEntities db = new RRSPSqlEntities();
int id = (int)ViewData["ClientId"];
var updateAddress = (from a in db.Address
where a.PersonId == id
select a).SingleOrDefault();
updateAddress.Deleted = false;
db.SaveChanges();
}
我应该补充说明,这段代码添加到了同一的.aspx页面中,并用script标签进行了包装。此部分还包括Page_Load方法。事件处理程序不在Page_Load内。
当我设置断点并逐步执行代码时,发现了问题。点击我的按钮后,它根本没有命中我的事件处理程序。我不知道为什么会出现这种情况,特别是因为ASP是从Design模式中点击按钮创建事件的。