2011-03-06 107 views
7

我有一个局部视图,我想要使用jQuery在主视图中呈现它。jquery加载与asp.net MVC局部视图

这里是我很编码jQuery的:

$(document).ready(function() { 
     $("#dvGames").load("/LiveGame/Partial3"); 
}); 

其中作为控制器的方法是这样的:

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

我没有看到任何东西。我试过

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

它的工作原理,但我想过滤部分视图中的数据,所以我使用jquery加载方法。

+0

正在为您的操作方法调用?如果设置了断点,你是否会遇到断点? – rcravens 2011-03-06 12:59:22

回答

15

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

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

+1 - 另外,我认为ActionResult Partial3应该返回partialview(),而不是视图()!? – 2011-03-06 15:44:19

0

尝试让框架创建URL。使用

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

它不会进入控制器操作。并使用<%= Url.Action(“LiveGame”,“Partial3”)%>并在屏幕上打印:“/ Partial3/LiveGame”。我需要加载部分视图。 – DotnetSparrow 2011-03-06 13:10:04

+0

而不是在加载中对URL进行硬编码,请尝试使用URL.Action方法。你还提供gameDate参数吗? – rcravens 2011-03-06 13:16:44

+0

@ rcravens我用上面提到的url.action,但是它打印的是数值而不是局部视图。我需要提供gameDate参数。我怎样才能做到这一点 ? – DotnetSparrow 2011-03-06 14:00:57