Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc jQuery.load在ASP.NETMVC中不起作用_Asp.net Mvc_Jquery - Fatal编程技术网

Asp.net mvc jQuery.load在ASP.NETMVC中不起作用

Asp.net mvc jQuery.load在ASP.NETMVC中不起作用,asp.net-mvc,jquery,Asp.net Mvc,Jquery,我试图在ASP.NETMVC页面上执行jQueryAjax调用。我可以在调试器中单步执行回调函数,并查看javascript是否正在执行,但不会更新 <asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="server"> <% Html.RenderPartial("homeMenu"); %> <script type="text/javascript"> Ini

我试图在ASP.NETMVC页面上执行jQueryAjax调用。我可以在调试器中单步执行回调函数,并查看javascript是否正在执行,但不会更新

<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="server">

<% Html.RenderPartial("homeMenu"); %>

<script type="text/javascript">
    InitHomeMenu('homeMenu', function (menuItem) {
        var id = menuItem.attr('id');
        if (id = 'menuMission') {
            $('homeContent').load('Home/Mission');
        }
        else if (id = 'menuSuggestions') {
            $('homeContent').load('Home/Suggestions');
        }

    });
</script>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <div id="homeContent">
        <% string control = ViewData["Control"] != null ? ViewData["Control"].ToString() : "Mission";
        Html.RenderPartial(control); %>
    </div>
</asp:Content>
对$'homeContent.load的调用正在运行。我可以确认我有数据,但div不会更新。

假设homeContent是div的id,则需要在其前面加上哈希:

<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="server">

<% Html.RenderPartial("homeMenu"); %>

<script type="text/javascript">
    InitHomeMenu('homeMenu', function (menuItem) {
        var id = menuItem.attr('id');
        if (id = 'menuMission') {
            $('homeContent').load('Home/Mission');
        }
        else if (id = 'menuSuggestions') {
            $('homeContent').load('Home/Suggestions');
        }

    });
</script>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <div id="homeContent">
        <% string control = ViewData["Control"] != null ? ViewData["Control"].ToString() : "Mission";
        Html.RenderPartial(control); %>
    </div>
</asp:Content>
 $('#homeContent').load('Home/Mission');
如果是类,则在其前面加上句点:

$('.homeContent').load('Home/Mission');
JQuery使用CSS选择器

-

如果您的AJAX调用失败,那么它将以静默方式执行。您可能会从服务器收到一个错误500,这在AJAX调用中是隐藏的,除非您在full.AJAX JQuery方法上连接一个错误委托


检查是否正在使用类似的方法从服务器返回数据。

尝试将=替换为==

if (id = 'menuMission') 


谢谢,它是id。我从散列开始,再试一次,然后将“homeContent”更改为类,并尝试使用句点。这些都不管用。JavaScript执行时没有错误。您可能仍然会遇到服务器错误,脚本不会抛出这些错误。尝试使用类似Fiddler2的工具来监控网络流量,以检查数据是否返回。谢谢,为了记录,我还必须按照David的建议将符号放回。