我在ASP.NET MVC页面上有一个div,我想使用jQuery动态填充(应用户请求)。目前,我有jQuery向控制器发送JSON调用,该调用返回一个JSON对象,然后使用Javascript手动构建HTML,然后将其放置在div中。
等一下让控制器自行生成HTML(使用自定义控件(.ascx文件)),然后仅返回要放置在div中的字符串,会不会容易得多?
更简单,更简单!
我目前的尝试涉及以下javascript:
$('#MyDiv').load("/MyController/GetList");
调用以下控制器方法:
public PartialViewResult GetList()
{
... create model ...
var result = PartialView("CategoryList", model);
return result;
}
问题是,我绝对没有收到控制器的任何答复。它被正确调用(由断点证明),但是Firebug甚至没有在Net视图中注册对控制器的调用(尽管该调用确实显示了Firebug控制台窗口,但响应为空)。
此外,.ascx文件中的Debug.Print命令会产生输出,因此jQuery调用和PartialView方法肯定会触发。
PartialView(和PartialViewResult)是用来做什么的,我应该怎么做呢?
提前致谢。
哦,它正在使用Release Candidate ...如果有所作为。
最佳答案
在我发现的最奇怪的修复程序之一中,似乎(就我而言)添加了一个
<html><head><title></title></head><body>
在用户控制代码之前,以及
</body></html>
在用户控制代码之后,解决了这个问题。没有这些,控件将不返回任何内容。
现在,这很有可能是由于网站从预览3->预览4->预览5-> Beta-> RC1演变而引起的一些奇怪问题,所以如果我是唯一的人,我不会感到惊讶在世界范围内遇到这个问题,但是在那里。
如果有人找到更好的答案,请在此处添加...
关于jquery - PartialView会执行我认为应该做的(但不是)吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/525162/