首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RenderSection中的<head >缺失文本

RenderSection中的<head >缺失文本
EN

Stack Overflow用户
提问于 2012-04-11 05:58:54
回答 2查看 723关注 0票数 2

更新:,一位同事告诉我,这是MVC4测试版中的一个已知错误。该问题是由javascript中的}括号引起的,导致RenderSection认为该部分已经结束。

在页面特定jquery的布局中,我有一个呈现节。它没有正确地将代码从我的视图复制到呈现部分。

我的_Layout.cshtml中有以下内容(模板_Layout.cshtml +我的新部分)

代码语言:javascript
复制
<script src="@Url.Content("~/Scripts/AjaxLogin.js")" type="text/javascript"></script>
        @RenderSection("jqueryheader", false)

        <meta name="viewport" content="width=device-width">
    </head>

我的Index.cshtml中有以下代码

代码语言:javascript
复制
@section jqueryheader {
<script type="text/javascript">
    $(document).ready(function () {
        var listid = '@(Model.ID)';
        $("#additem").load("~/Item/AddItem/" + listid);
    });
</script>
}

我在IE中得到了以下输出:

代码语言:javascript
复制
<script src="/Scripts/AjaxLogin.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var listid = '9f3348ef-f713-48c6-a267-3777182cf39e';
        $("#additem").load("~/Item/AddItem/" + listid);


        <meta name="viewport" content="width=device-width">
    </head>

谁知道为什么RenderSection错过了});</script>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-11 08:29:33

你为什么要把你的JavaScript放在标题中?

我不能百分之百确定这里的问题是什么,但这里有一个最佳实践建议。我将建议您将此脚本放在视图/页面的底部。这是最好的做法。因此,在布局视图/母版页中,在关闭body标记之前,请执行以下操作:

代码语言:javascript
复制
<body>

     <!-- Other HTML code -->

     <script src="@Url.Content("~/Assets/JavaScripts/jquery-1.7.2.min.js")"></script>
     @RenderSection("JavaScriptBodySection", false)

</body>

在你看来,你只需这样做:

代码语言:javascript
复制
@section JavaScriptBodySection
{
     <script>

          $(document).ready(function () {
               var listid = '@(Model.ID)';
               $("#additem").load("~/Item/AddItem/" + listid);
          });

     </script>
}

我也有像您一样的元标记,因为我的doc类型是HTML4.01严格的。我从没出过这个问题。我只是把我所有的JavaScript放在页面的底部。

票数 2
EN

Stack Overflow用户

发布于 2012-04-11 06:01:54

可能的原因可能是您的<meta>标签没有正确关闭,这在IE中带来了这样的结果。

尝试通过<meta>关闭/>标记

代码语言:javascript
复制
<meta name="viewport" content="width=device-width" />
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10100654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档