0
我正在修改一个预先存在的应用程序。我正在尝试添加jquery自动完成功能。我有它的工作和调用控制器,但问题是输入字段中的名称属性是“someClass.someMethod”,因为我不能把它放在这样的控制器参数中,但仍然想要满足asp.net的模型绑定规则,我该怎么办?asp.net MVC自动完成与Html.TextBoxFor
控制器:
public JsonResult GetPs(string pN, PSModel pS)
{
List<string> pNs = null;
pNs= pS.PEntryBL.BusinessLayerPS.PS
.Where(x => x.Text.StartsWith(pN)).Select(y => y.Text).ToList();
return Json(pNs, JsonRequestBehavior.AllowGet);
}
查看:
$(function() {
$("#autoCompletePNBox").autocomplete({
source: '@Url.Action("GetPs", "PS", new {pS = @Model})'
});
});
形式:
@Html.Label("Scan PN: ", new { @class = "DFont"})
@Html.TextBoxFor(r => r.PEntryBL.PS, new { @class = "pageFont", id = "autoCompletePNBox" })
[覆盖名称属性](http://stackoverflow.com/questions/6057865/asp-net-mvc-3-override-name-attribute-with-textboxfor)。 – Jasen
当通过自动完成发现正确的名称,然后提交,将搞砸模型绑定。 – eaglei22
你试图绑定什么模型? – Jasen