对于那里的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。
JsonResult
那是唯一的方法吗?有可以使用的帮手吗?我的View不是强类型的原因是因为页面加载时,没有显示关于模型的信息,只是一个文本框。
我真的希望我可以创建一个强类型的局部视图,并以某种方式在此局部视图上调用RenderPartial,并传递要显示的项目的ID。是否可以从客户端/ AJAX?
您可以使用jQuery从控制器请求html以及Json。因此,您的jQuery可能如下所示:
$.get(action, null, function(data){ $('#someDiv').html(data); }, 'html');
您的控制器可能会返回:
return PartialView("SomePartial", Model)
并将html呈现到屏幕上