我正在使用aspx页面,单个文件Web表单,通过下拉框捕获客户端的用户输入,然后修改可用的文本框字段(简单示例...如果客户端选择dropbox项目1,则文本框1已启用;如果客户端选择了Dropbox项目2,则启用文本框2。
dropbox html代码如下所示,与事件处理程序OnSelectedIndexChanged的异常完美配合:
<asp:DropDownList ID="FAQ" runat="server" ViewStateMode="Enabled" EnableViewState="true" Width="354px" AutoPostBack="true" OnSelectedIndexChanged="selectedFAQ()" >
<asp:ListItem Text="Please Select" Value="Default"></asp:ListItem>
<asp:ListItem Text="Text 1 Here" Value="FAQ1"></asp:ListItem>
<asp:ListItem Text="Text 2 Here" Value="FAQ2"></asp:ListItem>
<asp:ListItem Text="Text 3 Here" Value="FAQ3"></asp:ListItem>
</asp:DropDownList>
所选函数FAQ()在脚本部分中定义:
function selectedFAQ()
{
//code to enable/disable text fields here
}
我已经看到了这个问题的几个不同的帖子和答案,但似乎我看到的帖子包含一个aspx和aspx.cs文件...我的页面是单个Web表单。
我还想提一下,该页面不是我的创建,我只是想尝试添加其他功能。最后,有一个“inherits”标签引用了一个我没有代码的3岁dll。
如果此问题已得到解决,请指出正确的问题/答案并表示感谢。如果没有,请提供帮助。如果需要,我可以提供任何其他代码。感谢。
答案 0 :(得分:1)
您目前拥有的是订阅回发活动。也就是说,应该处理服务器端代码中索引更改的函数。但是你的功能实际上是一个javascript,并在客户端执行。要调用它,您需要为下拉控件分配一个不同的属性:
onchange="selectedFAQ();"
删除OnSelectedIndexChanged
的处理,无论如何都无法定义服务器端处理程序而无法访问代码。