javascript - 如何在客户端填充下拉框数据的情况下获取下拉框选定的值

标签 javascript asp.net

我的页面有 2 个投递箱。第二个下拉框中的数据将根据第一个下拉框中所选的数据而变化。第一个下拉框中更改的数据位于客户端脚本中。现在我尝试获取服务器中第二个下拉框中的所选值但没有得到。如何解决这个问题?

以下是代码:

<div class="field">
    <input type="hidden" id="ddlFormatOriginalData" name="ddlFormatOriginalData" runat="server" />
    <asp:DropDownList ID="d1" runat="server">
    </asp:DropDownList>
</div>

<div class="field">
    <input type="hidden" id="ddlFormatOriginalData" name="ddlFormatOriginalData" runat="server" />
    <asp:DropDownList ID="d2" runat="server">
    </asp:DropDownList>
</div>

Javascript端

$addHandler(ddlFormat, 'change', upDateD2);

function upDateD2(sender) {

    var PaperList = $get(ddlPaperStockID); // gets the list for a certain selected value in d1

    for (j = 0; j < PaperList.options.length; j++) {
        // added List here to d2
    }
}

服务器端

string val = d2.selected.value;

但是我没有得到 val 的任何信息,尽管在 firebug 中显示了 d2 下拉框的不同列表。

最佳答案

您可以像下面这样使用

protected override void OnInit(EventArgs e)
{
     var postedOptionValue = Request.Form[d2.UniqueID];
     d2.Items.Add(new ListItem(postedOptionValue));
     base.OnInit(e);
}

但是你应该注意以下异常

Invalid postback or callback argument.  

使用启用事件验证

   <pages enableEventValidation="true"/> 

在配置中或

    <%@ Page EnableEventValidation="true" %> 

在一个页面中。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。
如果数据有效且符合预期,请使用 ClientScriptManager。
RegisterForEventValidation 方法,以便注册回发或回调数据以进行验证。

编辑 1

更多阅读 -
Invalid postback or callback argument. When dropdown list populated with jquery and there is a postback

关于javascript - 如何在客户端填充下拉框数据的情况下获取下拉框选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14972822/

相关文章:

javascript - 在javascript中连接两个html block 变量

javascript - 将变量从 html 传递到 javascript 再到 php

c# - 以编程方式访问 asp.net 全局资源字符串的错误消息

asp.net - URL 重写出站规则 IIS7

asp.net - 如何使用 IIS 7.5 压缩来自 ASP.NET MVC 的 Json 结果

c# - 使用 EditorTemplate 时出现 id & name 错误

javascript - 在运行时打包客户端脚本并支持 Common.js

javascript - 无法将 parseInt 用作 ramdajs 的 ifElse 的 onTrue 或 onFalse 函数

JavaScript 每次出现都替换正则表达式,但最后一次?

c# - Javascript onKeyPress 事件不起作用?