在ASP.NET MVC中以div显示视图结果

时间:2011-04-04 16:46:10

标签: asp.net-mvc

我有这个:

     <div>@Html.ActionLink("MyLink", "Index", "Home")</div>

     <div id="ToDisplayResult></div>

是否可以在特定的div中显示控制器返回的View或PartialView?

谢谢,

3 个答案:

答案 0 :(得分:1)

如果你添加:

<div id="ToDisplayResult>@Html.Action("MyActionThatReturnsPartial", "Home")</div>

它将显示您想要的部分视图结果。当然,请确保您的控制器返回部分视图结果。

答案 1 :(得分:0)

更新div的最基本方法是使用jQuery .load

$('#ToDisplayResult').load('/SomeController/Action');

有关详细信息,请参阅此问题: How can I reload a div with a PartialView in ASP.NET MVC using jQuery?

答案 2 :(得分:0)

<div>@Html.ActionLink("MyLink", "Index", "Home", null, new { id = "mylink" })</div>
<div id="ToDisplayResult></div>

并在单独的javascript文件中AJAXify:

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

为了完整我的答案(不是我推荐这个)你可以使用Ajax助手:

<div>
    @Ajax.ActionLink(
        "MyLink", 
        "Index", 
        "Home", 
        new AjaxOptions { UpdateTargetId = "ToDisplayResult" }
    )
</div>
<div id="ToDisplayResult></div>

在这种情况下,请确保在页面中包含正确的不显眼的脚本:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>