加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何刷新多个部分视图点击Ajax.Actionlink

发布时间:2020-12-15 23:27:08 所属栏目:asp.Net 来源:网络整理
导读:我在View上使用了多个部分视图. 在左边我有一些链接按钮. 在中间我有2个部分视图让我们假设Up和Down 我可以更新Up部分视图 现在我想更新下来部分视图点击相同的链接按钮 我只能在Ajax.ActionLink按钮中发送一个UpdateTargetID 但我想更新2 Partialview一个同
我在View上使用了多个部分视图.
在左边我有一些链接按钮.

在中间我有2个部分视图让我们假设Up和Down
我可以更新Up部分视图
现在我想更新下来部分视图点击相同的链接按钮

我只能在Ajax.ActionLink按钮中发送一个UpdateTargetID
但我想更新2 Partialview一个同一按钮的clcik.

1)有什么办法可以在Ajax.ActionLink中传递多个UpdateTargetID
要么
2)我可以在家庭控制器中返回多个局部视图
或您建议的任何其他方式
请回复我

感谢大家回复
让我告诉你我做了什么,以便在单击时刷新多个部分视图
这是我用来点击的Action Link
这里我使用这个Action的OnSucess功能链接来更新,这个Action链接是部分的

<%= Ajax.ActionLink("Select","Employee",new { Id = Employee.EmployeeID },new AjaxOptions { UpdateTargetId = "EmployeeDiv",HttpMethod = "Post",OnSuccess = "function(){EmployeeHistory(-2," + Employee.EmployeeID.ToString() + ");}" })%>

这是我从部分视图中调用的一个javascript

function  EmployeeHistory(EmployeeID) {
    var url = '<%= Url.Action("PartialviewAction","ControllerName") %>'
    $('#PartialviewDiv1').load(url,{ Id: EmployeeID });
    var url1 = '<%= Url.Action("PartialviewAction","ControllerName") %>'
    $('#PartialviewDiv2').load(url1,{ Id: EmployeeID });

}

这两个div在我想要更新的索引视图中

<div id="Paritalview div1"><% Html.RenderPartial("PartialViewname1"); %></div>
        <div id="Paritalview div2"><% Html.RenderPartial("PartialViewname2"); %></div>

解决方法

是的 – 不要使用Ajax.ActionLink.

海事组织,MS Ajax库与Web Forms一样blo肿.

保持简单 – 使用jQuery – 然后你有完全控制:

$(function() {
   $('#somelink').click(function(e) {
      e.preventDefault();

      $.get('/controller/action1',function(data) {
         $('#up').html(data);
      });

      $.get('/controller/action2',function(data) {
         $('#down').html(data);
      });
   });
});

但是,由于您正在更新这两个面板,我建议将这两个中间面板的局部视图包含在自己的面板中 – 然后通过单个操作方法进行投放 – 这样您只需要一个ajax调用.

编辑

如@FelixM所提到的,您应该使用Url.Action或Url.RouteUrl来生成AJAX调用的URL,因此如果您的路由发生更改,那么您的JS不需要,例如:

.get(‘@ Url.Action(‘Controller’,’Action1′)’,function(data)

要么

.get(‘@ Url.RouteUrl(‘SomeNamedRoute’)’,function(data)

如果将此脚本放在外部文件中,那么您需要使用一种技术来设置主视图中的URL,然后从外部变量读取.

这些技术包括JavaScript变量,隐藏字段,传递URL作为参数等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读