C# Modelstate未通过Jquery POST更新JSON中的值

C# Modelstate未通过Jquery POST更新JSON中的值,c#,asp.net-mvc,jquery,C#,Asp.net Mvc,Jquery,基本上,我从dropdownlist中获取一个值,并通过AJAX将其传递给客户机方法。根据这个值,我得到数据,我想把它放在一个文本框中 <script type="text/javascript"> $('#dropdownlist').change(function () { $.post('/Index/GetJSON/' + this.value, null,

基本上,我从dropdownlist中获取一个值,并通过AJAX将其传递给客户机方法。根据这个值,我得到数据,我想把它放在一个文本框中

<script type="text/javascript">        
    $('#dropdownlist').change(function () {
        $.post('/Index/GetJSON/' + this.value, null,                               
            function (data) {
                $('#somefield').val(data)                                  
            });
    });
 </script>
加价

@Html.EditorFor(m => m.somefield)
somefield确实在视觉上改变了它的值。但当我检查它的值时,它不会得到更新。就好像val(data.ID)没有注册到模型中一样。由于我的代码,我也无法调用ModelState.Clear()

我之所以使用这种方法,而不是Ajax.Form和部分视图,是因为我将所有标记都放在一个HTML.BeginForm(已提交)中,其中有许多不同的DropDownList通过Ajax通过文本框进行交互,而您无法将Ajax.Form与HTML.BeginForm嵌套在一起。因此,我无法通过Ajax.Form提交对模型的更改并调用ModelState.Clear()。

.val()
如果希望更改反映在元素值attr use中,则设置元素的value属性


我猜您想更改value属性,如果是的话,请使用
$('#somefield').attr('value',data)
。完全正确!成功了。请给我一个正式的答案,我会给你一些互联网积分。
@Html.EditorFor(m => m.somefield)
$('#somefield').attr('value', data)