无法设置模型MVC属性

时间:2012-01-04 16:41:14

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

我正在尝试通过标准MVC3模板附带的标准帐户控制器代码设置配置文件属性(ComplexID)。我正在使用jquery库中的自动完成小部件来设置从自动完成中选择值时隐藏字段的值。我添加的警报确认了setter,但是当我尝试保存文本框值时,我从Model.IsValid收到错误,说需要设置ComplexID。在帐户模型中,我将ComplexID字段设置为[Required]。我究竟做错了什么?感谢

<div>
 <input type="text" name="q" id="complexes" />
 @Html.HiddenFor(m => m.ComplexID, new { id="complexid"})
</div>

和Jscript是:

    $("#complexes").autocomplete({
    source: function(request, response) {
     $.ajax({
     url: "/Account/QuickSearch", type: "POST", dataType: "json",
     data: { query: request.term },
            success: function(data) {
                response($.map(data, function(item) {
                    return { label: item.Name + " , " + item.Address1, value: item.Name, id: item.ComplexID };
                }))
            }
        })

    },
    minLength: 3,
    select: function(event, ui) {

        var selecteditem = ui.item;
        $("#complexid").text(selecteditem.id);
        alert(ui.item ? ("You picked '" + selecteditem.label + "' and the hidden textbox now has a value of " + $("#complexid").text()) : "Nothing selected");            
    }
});

1 个答案:

答案 0 :(得分:2)

改变这个:

$("#complexid").text(selecteditem.id);

$("#complexid").val(selecteditem.id);