0

我正在我的应用程序中加载两个部分视图。在菜单中单击时,在 ajax 调用中从 div.load() 调用控制器两次。如何避免控制器调用两次。

Jquery Ajax 调用:

  $(document).ready(function () {
            $('.common').click(function () {
                var pageid = this.id;
                LoadPartialView(pageid);
            });
        });

        function LoadPartialView(pageid) {
            alert('pass');
            var urls = '/WPindex/' + pageid + '/'
            $.ajax({
                url: urls,
                type: 'GET',
                contentType: 'application/html',
                success: function (result) {
                    $('#divDefault').hide();                     
                    $('#divDynamic').load('/WPindex/' + pageid);                        
                }
            });
        }

看法

<body>
    <div>
     <ul>
     <li><a id="MyAccount" class="common"><strong>Account Dashboard</strong></a></li>
     <li><a id="AccountDetails" class="common">Account Information</a></li>
     <li><a id="AddressBook" class="common">Address Book</a></li>
    </ul>
    </div>
     <div id="divDefault" class="order">     

     </div>
     <div id="divDynamic" class="order">
     </div>

</body>

控制器

  public ActionResult AccountDetails()
    {
       return PartialView();
    }

在这里单击 AccountDetails 锚标记,部分视图被加载。但是控制器被调用了两次。我的代码中有什么错误。? 有什么建议可以带来部分观点吗?

4

1 回答 1

4

出色地,

$.ajax({
...

部分对控制器进行第一次调用,并且

success: function (result) {
    ...
    $('#divDynamic').load(...

做第二个。如果您的任务只是在 div 中加载数据,则只需一行即可:

$('#divDynamic').load('/WPindex/' + pageid);
于 2013-07-30T08:59:23.057 回答