ASP.NET MVC 3 Razor 将部分从一个控制器视图渲染到另一个控制器视图

发布于 2024-11-01 09:34:17 字数 112 浏览 0 评论 0原文

从局部视图重定向到另一个局部视图而不刷新主页的最佳方法是什么?因此,单击按钮后,一个局部视图会更改为另一个局部视图。你可以用 jQuery 来做到这一点,或者有更好的方法来执行此操作吗? 你还需要传递一个 id

What is the best way to redirect to another partial view from a partial view without refreshing the main page. So 1 partial view changing into another partial view after a button click. Can you do this with jQuery , or is there a better way to perform this?
Also you need to pass an id with it

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

毅然前行 2024-11-08 09:34:17

在这种情况下,AJAX 似乎是一个很好的解决方案。因此,您可以在页面上的某个位置放置一个按钮:

@Html.ActionLink(
    "link text",
    "someAction",
    "someController",
    new { id = "put here some id you want to send to server" },
    new { id = "myLink" }
)

<div id="partial2Div"></div>

然后在单独的 javascript 文件中以不显眼的方式 AJAX 化此链接:

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

控制器操作将简单地返回相应的部分视图:

public ActionResult SomeAction(string id)
{
    var model = ...
    return PartialView(model);
}

AJAX seems like a good solution in this case. So you could place a button somewhere on the page:

@Html.ActionLink(
    "link text",
    "someAction",
    "someController",
    new { id = "put here some id you want to send to server" },
    new { id = "myLink" }
)

<div id="partial2Div"></div>

and then unobtrusively AJAXify this link in a separate javascript file:

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

The controller action will simply return the corresponding partial view:

public ActionResult SomeAction(string id)
{
    var model = ...
    return PartialView(model);
}
少女的英雄梦 2024-11-08 09:34:17

Ajax.ActionLink 将为您开箱即用地执行此操作,而无需编写额外的 JavaScript 代码。

@Ajax.ActionLink("Link Text","Action","Controller",new {id= myId},new AjaxOptions{InsertionMode=InsertionMode.Replace, HttpMethod="get", UpdateTargetId="target-location-id"})

Ajax.ActionLink will do this for you out of the box without having to write additional javascript code.

@Ajax.ActionLink("Link Text","Action","Controller",new {id= myId},new AjaxOptions{InsertionMode=InsertionMode.Replace, HttpMethod="get", UpdateTargetId="target-location-id"})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文