0

为什么会发生(仅在某些情况下)当我将事件处理程序添加到控件时,它没有提供智能感知选项来生成新的事件处理程序。这会导致 Visual Studio 2012 不会在后台创建代码以将控件与事件相关联。

我可以手动创建事件,但就像我说的那样,它会创建其他后台代码以将控件与该事件处理程序相关联。

 <asp:DropDownList ID="drpdwnRecordId" runat="server" Visible="false" OnSelectedIndexChanged="MyOwnEventHandler_OnSelectedIndexChanged">
        <asp:ListItem Text="Please Select a Record ID" Value="nothing"></asp:ListItem>
    </asp:DropDownList>

C#

  protected void MyOwnEventHandler_OnSelectedIndexChanged(object sender, EventArgs e)
        {

        }

为什么会这样?我该如何解决这个问题,或者有什么方法可以让我自己编写后台代码(这是个好主意吗?)

4

2 回答 2

0

您可以通过右键单击页面 (.aspx,.ascx) 转到代码隐藏,然后选择查看代码。您可以在 OnInit 或 OnLoad 方法中关联您的事件。

但是您必须在该页面中定义您的控件!

DropDownList dropdwnRecordId;

protected void override OnLoad(...)
{
    dropdwnRecordId.SelectedIndexChanged += YourHandler;
}

问候,德米特里。

于 2013-05-31T10:06:27.130 回答
0

如果将它放在 ui 页面中,它将生成在编译时调用该函数所需的所有代码。您必须编译您的项目才能创建该代码。

除了您在此处显示的内容外,不需要(由您编写)其他代码。

于 2013-05-31T09:59:37.707 回答