【问题标题】:how to embed javascript in Asp.net MVC view如何在 Asp.net MVC 视图中嵌入 javascript
【发布时间】:2015-05-22 08:08:51
【问题描述】:

如何在 asp.net MVC 应用程序(视图)中插入 javascript?

我在我的 javascript 中做以下事情:

1) 从 DOM 元素中读取值。

2) 从 Jquery Ajax 向 Controler 操作方法发送数据。

3) 验证我的输入。

4) 读/写 cookie

如何在视图中插入 javascript。

应该是这样的吗?

 <script src="../Scripts/Jquery-2.1.js" type="text/javascript"></script>
 <script src="../Scripts/jquery.cookie.js" type="text/javascript"></script>

<script>

       $(document).ready(function () 
          {

            $.cookie("pc", "Navada, US");

          }

        );

</script>

@{
    ViewBag.Title = "ViewPage1";
}
<h2>ViewPage1</h2>

感谢您的回答

【问题讨论】:

  • 使用&lt;text&gt;
  • 我不明白这个问题。你能详细说明一下吗?
  • @AndreiV 你能详细说明 是什么意思吗
  • 您可以使用 &lt;text&gt; 标记动态地将文本(例如 JavaScript)添加到您的视图槽 Razor。那里有很多例子。从我第一条评论中的链接开始。
  • @Liam 在网络表单中,我们在标题中使用

标签: javascript jquery asp.net-mvc


【解决方案1】:

不确定我是否理解您的问题,但如果是,您可能需要将脚本标签放入 head 标签中。

为了能够将您的自定义 js 内容放在头脑中,您可以尝试查看以下示例:

在您的 _Layout 页面中,在

之间添加:
    @RenderSection("CustomScripts", required: false);

在你的页面上:

   @section CustomScripts 
   {
   <script src="@Url.Content("~/Scripts/foo.js")" type="text/javascript"></script>
   }

编辑:正如@Liam 正确指出的那样,_Layout 文件可能位于任何其他路径中,@StephenMuecke 的澄清已应用。

【讨论】:

  • 布局不必在 Views/Shared/_Layout 中,但基本上是这样。
  • 它也不必在&lt;head&gt; 标记之间,并且有许多论据说明为什么它应该紧挨在&lt;/body&gt; 结束标记之前放置。使用@if (IsSectionDefined("CustomScripts")) 毫无意义,因为您使用了@RenderSection("CustomScripts", required: false);,这意味着它是可选的。 if 块的唯一原因是如果您只使用了@RenderSection("CustomScripts"),因为required 的默认值是true
  • @StephenMuecke 感谢您的澄清。我将编辑我的答案。至于关于放置脚本标签的争论见link
  • “至于辩论......” 正是我的观点 - 有很多支持和反对的论点。他们可以进入&lt;head&gt; 或紧接在关闭&lt;/body&gt; 标记之前
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 2018-06-11
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 2010-10-16
相关资源
最近更新 更多