【发布时间】:2012-05-07 19:48:46
【问题描述】:
我正在使用 jQuery ajax 异步检索数据列表,并在文本框上调用自动完成以绑定 jQuery 页面就绪事件上的数据。自动完成文本框按预期工作。当用户点击表单上的提交按钮并且出现验证错误时,不起作用。该页面不会使用最后一个已知值重新填充文本框。我知道 HTTP 是一种无状态协议。我在尝试使用剃刀手动将值重新插入文本框或尝试弄乱自动完成设置以以某种方式重新填充所选值之间感到痛苦。我该怎么办?
success: function (data) {
//reappend data - get drop down list
log("got data", data);
var arr = [];
$.each(data.vendors, function (i, val) {
arr.push({ label: val.Name, value: val.Name, item: val.Value });
});
var ele = $page.find("#vendorAuto");
ele.autocomplete({ source: arr, html: true, select: function (event, ui) {
$page.find("#VendorID").val(ui.item.item);
}});
【问题讨论】:
-
愚蠢的问题,但您的验证看起来如何。它是不显眼的 ajax 验证吗?我问是因为听起来您正在刷新整页,而这种情况下的值不会持续存在。
-
你说得对,它是一个完整的页面刷新,并且值没有持久化。验证是用 Razor 编写的,将被视为服务器端。在控制器动作上我们有 if (Model.IsValid) { do(); } 返回视图(模型);
标签: asp.net-mvc-3 jquery-ui jquery jquery-plugins