@RenderPage - 渲染编辑页面

时间:2013-02-19 11:12:34

标签: asp.net-mvc asp.net-ajax render

我想渲染一个页面,但该页面是一个“编辑”页面。像这样的东西

@RenderPage("~/Views/Edit/25.cshtml")

但这不起作用,可能我应该将参数“25”作为参数传递,但到目前为止还没有成功。在我的程序中,我有两个选项卡,两个调用(渲染)页面都抛出Ajax(Jqueryui - http://jqueryui.com/tabs/),我想在单击选项卡时调用具有特定ID的编辑视图。

有可能吗?我应该怎么做?

2 个答案:

答案 0 :(得分:0)

如果你想在特定标签的点击上执行某些操作,那么我建议你应该使用Ajax。 看看jQuery.Ajax。 或者你想要一个纯粹的http web请求,然后当用户点击选项卡并通过识别传递的值来相应地加载内容时,你可以在同一页面上传递某个查询字符串。

答案 1 :(得分:0)

要通过asp.net mvc中的ajax呈现标签,你可以这样做。

CSHTML:

创建选项卡控件,选项卡标题中的每个锚点使用不同的路由值。当然,你可以将它们链接到控制器的不同动作:

<div id=tabs>
    <ul>
        <li>@Html.ActionLink("Tab1", "Edit", new { id = 25 })</li>
        <li>@Html.ActionLink("Tab2", "Edit", new { id = 26 })</li>
    </ul>
</div>

控制器,请注意您在此处返回部分视图,该视图将呈现为tabcontrol:

    public ActionResult Edit(int id)
    {
        // You probably want to load the Model from the db with id param. I just write a message
        ViewBag.Message = id;

        return PartialView("Edit"); 
    }

我的部分视图Edit.cshtml:

<span>Edit me @ViewBag.Message</span>

Javascript,只需正常创建标签控件:

$("#tabs").tabs();

一般来说,如果你想用参数渲染一些局部视图,我个人会去

@Html.Action("Edit", "Controller", new {id=25})