我在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/

10-13 23:45