【问题标题】:How do I add JavaScript to an ASP.NET MVC View?如何将 JavaScript 添加到 ASP.NET MVC 视图?
【发布时间】:2010-10-16 04:46:14
【问题描述】:

我有一个简单的视图,我希望将JQuery DatePicker JavaScript 添加到此视图(而不是每个 视图,通过母版页)。

我不确定最好的方法是什么。

其次,我知道我的 JavaScript 加载的位置/时间。我是 YSlow 的粉丝,它建议我将任何脚本添加到页面底部,我会这样做。

那么,我怎么能两者都做呢?

这是视图:

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

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Index</h2>

    <% using (Html.BeginForm()) {%>

    <p>
        <label for="StartDate">Start Date:</label>
        <!-- JQuery DatePicker to be added, here. -->
    </p>
    <% } %>
</asp:Content>

【问题讨论】:

    标签: javascript jquery asp.net-mvc views


    【解决方案1】:

    在 ASP.NET MVC3 中,您现在可以使用 RenderSection 来实现这一点,至少对于更简单的场景是这样。只需在布局页面底部添加一个 RenderSection,然后从您的视图中填写应用程序代码

    渲染部分:http://www.dotnetcurry.com/ShowArticle.aspx?ID=636

    【讨论】:

    • +1 表示 RenderSections 链接。这就是我想要的。
    【解决方案2】:

    您的 MasterPage 应该有一个 ContentPlaceHolder 作为头部。

    <head runat="server">
        <title></title>
        <asp:ContentPlaceHolder ID="head" runat="server" />
    </head>
    

    然后您就可以在视图中包含头部元素(JavaScript、样式表等):

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
        <script src="/Scripts/jquery/ui/ui.datepicker.js" type="text/javascript">
        </script>
        <link href="/Styles/myStyle.css" rel="stylesheet" type="text/css" />
    </asp:Content>
    

    【讨论】:

    • 这个答案更好,除了它把它放在头上......当我确实说它应该添加到页面底部时。所以 winob0t 得到了成功。
    【解决方案3】:

    一种方法是在母版页底部放置一个内容占位符,然后需要 javascript 的特定从属页面可以将占位符内容指定为所需的 javascript。其他不需要 javascript 的页面根本不为占位符指定任何内容。

    【讨论】:

    • 干杯 :) 作为记录,我在页面底部添加了一个新的 ContentPlaceHolder,就在
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2020-08-25
    • 2011-02-03
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多