jQuery与ASP.NET MVC局部视图的加载

7
我是一位有用的助手,可以翻译文本。
我有一个部分视图,想要使用jQuery在主视图中呈现它。
以下是我的jQuery代码:
$(document).ready(function() {
        $("#dvGames").load("/LiveGame/Partial3");
});

而控制器方法则是这样的:

public ActionResult Partial3(DateTime gameDate)
{
    return View("Partial3");
}

我什么也看不到。我尝试过

<% Html.RenderPartial("Partial3"); %> 

它可以工作,但我想在部分视图中过滤数据,所以我正在使用jQuery的load方法。


你的调用是否进入了你的动作方法?如果设置了断点,你是否会触发它? - rcravens
2个回答

15

你的控制器操作需要一个DateTime参数,你需要在调用AJAX请求时提供它:

$(function() {
    $('#dvGames').load(
        '<%= Url.Action("Partial3", "LiveGame") %>', 
        { gameDate: '2011-03-06' }
    );
});

4
+1 - 此外,我认为ActionResult Partial3应该返回一个partialview(),而不是view()! - jim tollan

0

尝试让框架创建URL。使用

<%= Url.Action("LiveGame","Partial3") %>

1
它没有进入控制器操作。我使用了 <%= Url.Action("LiveGame","Partial3") %>,并且它在屏幕上打印:"/Partial3/LiveGame"。我需要加载部分视图。 - DotnetSparrow
不要在加载中硬编码URL,尝试使用URL.Action方法。另外,你是否提供了gameDate参数? - rcravens
@rcravens 我使用了url.action,正如我之前提到的那样,但它打印了值而不是转到该局部视图。我需要提供gameDate参数。我该如何做? - DotnetSparrow
将其作为查询参数添加。url?gameDate='日期' - rcravens
@rcavens以及如何使用url.action - DotnetSparrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接