C# Modelstate未通过Jquery POST更新JSON中的值
基本上,我从dropdownlist中获取一个值,并通过AJAX将其传递给客户机方法。根据这个值,我得到数据,我想把它放在一个文本框中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,
<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)