3

我想将我的客户 javascript 文件添加到我的 cshtml

我正在使用 mvc4

我试过这两种方法

@Scripts.Render("~/Scripts/Register.js")
<script type="text/javascript" src="~/Scripts/Register.js"></script>

没有任何效果。

我想这样做是因为我想检查选择更改。

$(document).ready(function () {
    $('#selectRegisterType').on('change', function () {
        alert("ddddddd");
    });
});

这也是html的代码

<select id="selectRegisterType">
    <option value="None">Select One</option>
    <option value="tenant">Tentant</option>
    <option value="Apartment Owner">Apartment Owner</option>
</select>

任何帮助,将不胜感激

4

2 回答 2

2

使用 MVC4 非常好,您应该利用 App_Start 文件夹中的 BundleCollection,您将看到 BundleConfig.cs,您可以在其中添加您的 javascript 和样式等。

现在你需要写的是

 public static void RegisterBundles(BundleCollection bundles)
  {
 bundles.Add(new ScriptBundle("~/Scrips/Register").Include(
             "~/Scripts/Register.js"));

   }

并在您的正文标签内的页脚标签中

</footer>
@Scripts.Render("~/bundles/Register")
@RenderSection("scripts", required: false)
</body>

< /html>

否则,您可以使用一些脚本直接链接到您的脚本网址,例如

</footer>
       <script type="text/javascript">

                var e = document.createElement('script');
                e.src = '@Url.Content("~/Scripts/Register.js")';
                e.type = 'text/javascript';
                document.getElementsByTagName("head")[0].appendChild(e);

        </script> 
</body>
</html>
于 2013-10-26T15:08:38.720 回答
0

你把你的脚本放在哪里?因为这看起来像 JQuery 代码,你之前加载 JQuery 吗?

我把你的代码放在 JSFiddle 中,看起来它工作得很好:

$(document).ready(function () {
    $('#selectRegisterType').on('change', function () {
        alert("ddddddd");
    });
})

http://jsfiddle.net/h2L6d/ (在这里复制你的代码,因为没有一些代码我不能把链接放到 JSFiddle 上)

在我看来,它不会“工作”的唯一原因是您在调用脚本之前没有加载 JQuery。通常,我将那些 js 库加载到 _Layout.cshtml 的页脚下方:

       </footer>          
        @Scripts.Render("~/bundles/js") 
        <script src="~/Scripts/jquery.slidePanel.js"></script>            
        @RenderSection("scripts", required: false)        
    </body>

以及特定于脚本部分中页面的脚本,位于 cshtml 视图的底部:

@section scripts {
  @Scripts.Render("~/bundles/jstree")  
}

这样,我确信我的 js 库总是在我的本地页面脚本之前加载。不在捆绑包中的脚本是稍后添加的,也应该捆绑在一起。

于 2013-10-26T15:06:18.103 回答