对于我写过的ASPX页面
<script type="text/javascript" language="JavaScript">
function OnSelectedIndexChange_tb_type() {
ddl = document.getElementById("<%=tb_type.ClientID %>");
ddl1= document.getElementById("<%=tb_diagnost_by.ClientID %>");
var options = document.createElement("option");
if (ddl.selectedIndex == 1) {
ddl1.options[0] = new Option("---Select---", "0");
ddl1.options[1] = new Option("Sputum", "Sputum");
ddl1.options[2] = new Option("CX Ray", "CX Ray");
}
else if (ddl.selectedIndex == 2) {
ddl1.options[3] = new Option("---Select---", "0");
ddl1.options[4] = new Option("Limph node", "Limph node");
ddl1.options[5] = new Option("CSF", "CSF");
ddl1.options[6] = new Option("Plural Fluid", "Plural Fluid");
ddl1.options[7] = new Option("Ascitic Fluid", "Ascitic Fluid");
ddl1.options[8] = new Option("Urine", "Urine");
ddl1.options[9] = new Option("Other", "Other");
}
else {
ddl1.options[10] = new Option("---Select---", "0");
}
}
</script>
<script type="text/javascript" language="JavaScript">
function OnSelectedIndexChange_tb_diagnost_by() {
ddl1 = document.getElementById("<%=tb_diagnost_by.ClientID %>");
ddl2 = document.getElementById("<%=tb_diagnost_by_detail.ClientID %>");
var options = document.createElement("option");
if (ddl1.selectedIndex == 1)
{
ddl2.options[0] = new Option("---Select---", "0");
ddl2.options[1] = new Option("AFB", "AFB");
ddl2.options[2] = new Option("Gene Xpert", "Gene Xpert");
}
else if {
ddl2.options[3] = new Option("---Select---", "Select");
ddl2.style.visibility = 'hidden';
}
else{
ddl2.options[4] = new Option("---Select---", "Select");
}
}
</script>
但我收到了错误
无效的回发或回调参数。使用页面启用事件验证...
需要解决方案。请帮帮我...因为我是堆栈。
答案 0 :(得分:0)
您可以在不通知aspx服务器的情况下添加新选项,即更改视图状态,因此您需要禁用事件验证,或使用更新面板并从服务器执行此操作。
答案 1 :(得分:0)
在您的下拉列表中添加事件监听器
<asp:DropDownList ID="DD1" runat="server" AutoPostBack="true" OnClick="DD1_Click" />
然后在您的.NET页面中 在顶部添加
using System.Web.UI.WebControls;
然后低于页面加载。
protected void DD1_Click(object sender, EventArgs e)
{
var index = ((DropDownList)sender).SelectedIndex;
}
http://msdn.microsoft.com/en-us/library/58tf9b9h(v=vs.110).aspx
现在将您的javascript转换为.NET代码。 您可以在MVC中使用您的方法,但相信我在WebForms中,您已经为Mordor设置了自己的方法。