我在我的控制器中有这个动作
public ActionResult TestItemLogistic()
{
ControlViewModel model = new ControlViewModel();
model.itemSelected = "Logistic";
return RedirectToAction("MenuList", model);
}
点击
后会调用此操作<a href=@url.Action(subItem.action, subItem.controller)>
我希望能够在不为页面充电的情况下完成所有这些操作,而只需更新一些div。
任何想法?
感谢。
答案 0 :(得分:0)
您可以使用.load
将所选元素的内容替换为从URL检索到的HTML输出。
说你有
<a href="@url.Action(subItem.action, subItem.controller)" id="ClickMe">Click Me</a>
<div id="ReplaceMe"></div>
你可以这样做:
<script type="text/javascript">
$(function() {
$('#ClickMe').click(function(e) {
e.preventDefault();
$('#ReplaceMe').load($(this).attr('href'));
});
});
</script>
编辑:我现在看到,您需要一个指向操作的链接,该链接返回一个URL,然后您想要加载该结果URL的内容。
public ActionResult TestItemLogistic()
{
ControlViewModel model = new ControlViewModel();
model.itemSelected = "Logistic";
UrlHelper u = new UrlHelper(ControllerContext.RequestContext);
return Content(u.Action("MenuList", model));
}
<script type="text/javascript">
$(function() {
$('#ClickMe').click(function(e) {
e.preventDefault();
$.get($(this).attr('href'), function(url) {
$('#ReplaceMe').load(url);
});
});
});
</script>
答案 1 :(得分:0)
您可以通过将Ajax与jQuery一起使用来实现此目的 上面的http://api.jquery.com/jQuery.ajax/是jquery ajax的文档
答案 2 :(得分:0)
您何时从视图中使用Ajax属性。您可以添加一个可以通过id
更新任何元素的链接@Ajax.RouteLink("TestLink", new { controller = "Persoon", action = "Partial" },new AjaxOptions() { InsertionMode = System.Web.Mvc.Ajax.InsertionMode.Replace UpdateTargetId = "Id Element"})
试试这个