通过Ajax调用加载html时为什么不下载脚本

时间:2011-02-01 07:35:37

标签: asp.net-mvc ajax

我在MVC写作。

我的UserControl内部只有

已更新

<div id="login-container">
    <div id="login">
        <script src="/Scripts/shared/Site.js" type="text/javascript"></script>
        <input type="text" />
    </div>
</div>

当我通过Ajax调用加载此控件时(我返回View(“UserControl”)),因此不下载脚本。解决它的唯一方法是写

$.getScript("Scripts/shared/Site.js")

之后

$("#container").html(UserControlHtml)

我意识到只有当我通过Ajax调用加载UserControl时才会发生这种情况,但我不明白为什么。 有人可以解释幕后发生的事情吗?我想了解为什么在其中加载带脚本的html不会下载脚本

谢谢

1 个答案:

答案 0 :(得分:0)

我认为您可能会发现您的问题出在usercontrol中。你应该改变以下一行:

<script src="/Scripts/shared/Site.js" type="text/javascript"></script>

为:

<script src="<%=Url.Content('~/Scripts/shared/Site.js')%>" type="text/javascript"></script>

这是我的猜测..