Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
如何将Javascript放入ASP.NET MVC视图中_Asp.net_Javascript_Asp.net Mvc_Asp.net Mvc Views - Fatal编程技术网

如何将Javascript放入ASP.NET MVC视图中

如何将Javascript放入ASP.NET MVC视图中,asp.net,javascript,asp.net-mvc,asp.net-mvc-views,Asp.net,Javascript,Asp.net Mvc,Asp.net Mvc Views,我对ASP.NETMVC非常陌生,我正在尝试将一些Javascript集成到我正在制作的网站中,以测试这项技术 我的问题是:如何将Javascript代码插入视图? 假设我从默认的ASP.NET MVC模板开始。在视图方面,这将创建母版页、“主页”视图和“关于”视图。名为Index.aspx的“主”视图如下所示: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.M

我对ASP.NETMVC非常陌生,我正在尝试将一些Javascript集成到我正在制作的网站中,以测试这项技术

我的问题是:如何将Javascript代码插入视图?

假设我从默认的ASP.NET MVC模板开始。在视图方面,这将创建母版页、“主页”视图和“关于”视图。名为Index.aspx的“主”视图如下所示:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
    Home Page
</asp:Content>

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
    <h2><%= Html.Encode(ViewData["Message"]) %></h2>
    <p>
        To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
    </p>
    <p>Welcome to this testing site!</p>
</asp:Content>

.

欢迎来到这个测试站点

在此处添加
标记无效。我应该在哪里做,怎样做


我有种感觉,我错过了一些非常基本的东西。。。提前谢谢

在母版页的
内创建一个额外的
,然后您的视图将有第三个
部分供您注册外部
.js
文件、自定义
块、外部
.css
文件,和自定义
块。

标签需要放入
块中。(否则,它会在哪里结束?)

< P>你可能要考虑的一件事是在你的母版页中添加一个“脚本”内容位置保持器,在正文的末尾加载脚本。通过这种方式,您可以在页面末尾加载脚本,这样就不会减慢加载DOM元素的速度(一旦脚本开始加载,它一次只执行一个请求,因为代码可能会影响DOM)。使用PartialView时,这会变得有点棘手——如果您在其中包含代码,则需要找出一种方法来延迟在加载这些脚本之后执行任何依赖于后续脚本的操作。一种折衷方法可能是在头中加载jQuery之类的内容,并在正文末尾加载其他常用脚本

地点,主人

   <body>

   ...
   <asp:ContentPlaceHolder runat="server" id="MainContent"></asp:ContentPlaceHolder>

   ...

   <script type="text/javascript" src="<%= Url.Content( "~/scripts/jquery-1.4.1.min.js" ) %>"></script>
   <asp:ContentPlaceHolder runat="server" id="ScriptContent"></asp:ContentPlaceHolder>
   </body>
   </html>

...
...
看法


... HTML。。。
$(函数(){
$('.selector')。单击(函数(){
...
});
});

刚刚偶然发现了这个问题,希望添加一条评论,在Visual Studio 2013中,它可以以更优雅的方式完成

在母版页中,只需将以下代码放在页面底部(在默认生成的母版页中,此代码已经存在):


...
@RenderSection(“脚本”,必需:false)
然后在您的视图底部显示以下代码:

@section scripts
{
    <script src="...script url..."></script>
}
@节脚本
{
}
或者如果你使用捆绑包

@section scripts {
    @Scripts.Render("~/bundles/<script id>")
}
@节脚本{
@Scripts.Render(“~/bundles/”)
}

或者你可以放一个。。。使用Javascript代码将节插入视图中的@section scripts块。

非常有效,谢谢!听起来是一个非常合乎逻辑的解决方案。
@section scripts
{
    <script src="...script url..."></script>
}
@section scripts {
    @Scripts.Render("~/bundles/<script id>")
}