0

在 .Net MVC 3 中,我尝试运行脚本。脚本处于局部视图中。如果我用 Html.RenderAction 调用部分它可以工作,但如果我通过 jquery ajax 在页面中调用部分视图它不起作用。

局部视图

   <script type="text/javascript">
    document.write("<script src='http://ad.reklamport.com/rpgetad.ashx?tt=t_iddaa_habersayfalari_mac_detay_300x250&ciid=&rnd=" + Math.random() % 99999999 + "'></" + "script>");            
</script> 

看法

有用..

<html>
    <head>        

    </head>
    <body>        
        @{Html.RenderAction("Partial");}

    </body>


</html>

它不起作用...

<body>        
        @{Html.RenderAction("Partial");}
        <script type="text/javascript">
            $.ajax({
                type: "post",
                url: "/Home/Partial",
                dataType: "html",                
                success: function (result) {                    
                    $("#content").html(result);
                },
                error: function (result) {
                }
            });
        </script>
        <div id="content">

        </div>
    </body>

我需要使用第二种方式..有什么问题?

4

1 回答 1

0

这是因为<div id="content">尚未加载到 dom。尝试将 JS 脚本放在内容 div 之后

<body>        
        @{Html.RenderAction("Partial");}

        <div id="content">

        </div>
 <script type="text/javascript">
            $.ajax({
                type: "post",
                url: "/Home/Partial",
                dataType: "html",                
                success: function (result) {                    
                    $("#content").html(result);
                },
                error: function (result) {
                }
            });
        </script>
    </body>

或者您可以包装您的 ajax 请求文档就绪事件处理程序

<script type="text/javascript">
           $(function{
                $.ajax({
                    type: "post",
                    url: "/Home/Partial",
                    dataType: "html",                
                    success: function (result) {                    
                        $("#content").html(result);
                    },
                    error: function (result) {
                    }
                });
            });
 </script>
于 2013-01-09T09:02:34.027 回答