2011-05-19 62 views
0

我试图在点击任何链接时调用我的子操作。基本上我知道的是Child Actions被@ Html.Action()方法调用。但是这个方法会在我们的视图中自动调用。我正在尝试使用@ Html.ActionLink(),但这不起作用。有没有什么方法可以在点击任何链接时调用我们的Child操作。单击链接时调用子操作

在此先感谢。

回答

0

您可以使用AJAX链接来调用动作并将部分结果注入到DOM中。例如假设您有以下作用:

public ActionResult Foo() 
{ 
    return PartialResult(); 
} 

你可以写一个动作链接和一个div来保存结果:

@Html.ActionLink("click me", "someaction", "somecontroller", null, new { id = "mylink" }) 
<div id="result"></div> 

,然后在一个单独的JavaScript文件AJAXify此链接:

$(function() { 
    $('#mylink').click(function() { 
     $('#result').load(this.href); 
     return false; 
    }); 
}); 
+0

嗨@Darin。谢谢您的帮助。但是,你能提出一些我不需要处理Ajax的方法吗?因为如果我想使用Ajax,那么我现在可能会在我的情况下使用Child操作。 – Jash 2011-05-19 06:26:41

+0

@Jash,如果您不想在点击链接时使用AJAX,则会执行完整的回发到服务器。因此,在结果视图中,您可以使用Html.Action包含子动作。 – 2011-05-19 06:28:11