ASP.NET MVC隐藏字段没有POSTing

时间:2010-03-01 11:49:44

标签: jquery asp.net-mvc jquery-autocomplete

使用jquery自动完成功能,我有一个隐藏的输入字段来存储ID,因为名称会输入到select的自动填充字段中。

像这样:

        $("#Clients").result(function (event, data, formatted) {
            if (data) {
                $("#ClientID").val(data["client_ClientNumber"]);
                if (data["ClientName"] && data["client_address1"] && data["client_postcode"] && data["client_postname"]) {
                    $("#ClientDetails").html(
                    "<li class=\"clientNumber\">Client ID: " + data["client_ClientNumber"] + "</li>" +
                    "<li>" + data["ClientName"] + "</li>" +
                    "<li>" + data["client_address1"] + "</li>" +
                    "<li>" + data["client_postcode"] + data["client_postname"] + "</li>"
                    );
                }
}

这是我的HTML:

    <div id="ClientSelectionPlaceholder">
        <h3>Client</h3>
        <%=Html.TextBox("Clients", null, new { @class = "clientsDropDown" })%>
        <%=Html.Hidden("ClientID", null, new { disabled = true}) %>
    </div>

问题是这个隐藏的ClientID字段没有回发,也没有使用jquery.serialize()进行序列化。它总是缺失。但据我所知,我的代码看起来很好。

3 个答案:

答案 0 :(得分:6)

为什么要禁用隐藏字段?不。

答案 1 :(得分:3)

这是因为该字段已被禁用。

...new { disabled = true}...

答案 2 :(得分:2)

当您将disabled属性设置为input元素时,它的值为 NOT 已发布:

<%=Html.Hidden("ClientID", null, new { disabled = true}) %>