我试图编写一个DropDownList,它将有一个OnSelectedIndexChanged事件,但我无法使它工作。
这是我.aspx上的代码
<asp:DropDownList ID="DDLSample" OnSelectedIndexChanged="DDLSample_SelectedIndexChanged" runat="server">
<asp:ListItem Text="Sample1" Value="0"></asp:ListItem>
<asp:ListItem Text="Sample2" Value="1"></asp:ListItem>
<asp:ListItem Text="Others..." Value="2"></asp:ListItem>
</asp:DropDownList> 和一个TextBox
<asp:TextBox ID="txtOthers" runat="server" Visible ="false" CssClass="form-control" ></asp:TextBox>我计划做的是,当从Others...中选择DropDownList时,它将显示Others字段。
在我的aspx.cs上,我有这样的代码
protected void Page_Load(object sender, EventArgs e)
{
DDLSample.SelectedIndexChanged += new EventHandler(DDLSample_SelectedIndexChanged);
DDLSample.AutoPostBack = true;
}
void DDLSample_SelectedIndexChanged(object sender, EventArgs e)
{
if (DDLFindings.SelectedValue.ToString() == "2")
txtOthers.Visible = true;
else
txtOthers.Visible = false;
}但是,我仍然会收到这样的错误:
CS1061:'sample_aspx‘不包含'DDLSample_SelectedIndexChanged’的定义,也找不到接受'sample_aspx‘类型的第一个参数的扩展方法'DDLSample_SelectedIndexChanged’(您缺少使用指令还是程序集引用?)
发布于 2015-12-26 10:18:43
DDLSample_SelectedIndexChanged是私有的,您的aspx无法访问私有方法。您可以从您的OnSelectedIndexChanged="DDLSample_SelectedIndexChanged"中删除DropDownList,因为您已经拥有:
DDLSample.SelectedIndexChanged += new EventHandler(DDLSample_SelectedIndexChanged);或者保护DDLSample_SelectedIndexChanged:
protected void DDLSample_SelectedIndexChanged(object sender, EventArgs e)
{
//Your code
}https://stackoverflow.com/questions/34470351
复制相似问题