对于那里的MVC专家来说,这应该相对简单,但我仍在学习绳索。
ViewPage<dynamic>
。现在,使用jQuery AutoComplete UI插件,当用户单击自动完成中显示的其中一个项时,将调用客户端事件,并传递JSON对象:
// .. snip heaps of jQuery
select: function (event, ui) {
// ui is a JSON object:
// ui.item.id
// ui.item.name
}
现在我的问题是 - 从这个客户端事件中,我需要在同一页面上(在texbox下面)显示有关此项目的扩展信息。 (显然需要对服务器进行另一次AJAX调用)。
我该怎么做?我唯一能想到的就是让jQuery调用另一个返回单个JsonResult
的控制器,然后手动解析这个JSON,显示我想要的HTML。
这是唯一的方法吗?我可以使用帮手吗?我的View不是强类型的原因是因为当页面加载时,没有显示关于模型的信息,只是文本框。
我真的希望我可以创建一个强类型的局部视图,并以某种方式在这个局部视图上调用RenderPartial,传递我想要显示的项目的id。这可能来自客户端/ AJAX吗?
答案 0 :(得分:13)
您可以使用jQuery从控制器请求html和Json。所以你的jQuery看起来像这样:
$.get(action, null, function(data){
$('#someDiv').html(data);
}, 'html');
你的控制者可以回复:
return PartialView("SomePartial", Model)
html将呈现在屏幕上