【发布时间】:2023-03-12 08:21:01
【问题描述】:
在不刷新主页的情况下,从局部视图重定向到另一个局部视图的最佳方式是什么?因此,单击按钮后,1 个局部视图变为另一个局部视图。你能用 jQuery 做到这一点,还是有更好的方法来做到这一点? 你还需要传递一个 id
【问题讨论】:
标签: jquery asp.net asp.net-mvc-3 razor asp.net-mvc-partialview
在不刷新主页的情况下,从局部视图重定向到另一个局部视图的最佳方式是什么?因此,单击按钮后,1 个局部视图变为另一个局部视图。你能用 jQuery 做到这一点,还是有更好的方法来做到这一点? 你还需要传递一个 id
【问题讨论】:
标签: jquery asp.net asp.net-mvc-3 razor asp.net-mvc-partialview
在这种情况下,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 文件中不显眼地 AJAXify 这个链接:
$(function() {
$('#myLink').click(function() {
$('#partial2Div').load(this.href);
return false;
});
});
控制器动作将简单地返回相应的局部视图:
public ActionResult SomeAction(string id)
{
var model = ...
return PartialView(model);
}
【讨论】:
Ajax.ActionLink 将立即为您执行此操作,而无需编写额外的 javascript 代码。
@Ajax.ActionLink("Link Text","Action","Controller",new {id= myId},new AjaxOptions{InsertionMode=InsertionMode.Replace, HttpMethod="get", UpdateTargetId="target-location-id"})
【讨论】: