0

誰かが私が間違っているかもしれない場所を指摘してもらえますか? 私の問題は、私のビューにはいくつかのスクリプトがあり、jQueryが何らかの形でそこで動作しないように見えることです(おそらくどこかで私のせいです)。

常に読み込まれているレイアウト ページで指定された jQuery への参照があります。それから私はこのように見える私の見解を持っています

@model jakubholovsky.com.Models.BlogPost
@using jakubholovsky.com.DataModels
@using jakubholovsky.com.Enum
@{
    ViewBag.Title = "Jakub Holovsky - Blog - Post - " + Model.Post.title;
}
<h2>
    @Model.Post.title</h2>
<div>
 SOME CODE
</div>
<script type="text/javascript">
    $(document).ready(function () {
        alert("hello");
        $('#addACommentDiv').click(function () {
            alert("hello");
            if ($('#commentFieldset').is(':hidden')) {
                $("#commentFieldset").slideDown("slow");
                $('#addACommentDivButton').html('Close commenting');
            }
            else {
                $("#commentFieldset").slideUp("slow");
                $('#addACommentDivButton').html('Comment on this article');
            }
        });
    });
</script>

ビューで jQuery を参照しようとしましたが、運がありません。また、基本的なjavascript(アラートウィンドウのみ)を使用して、それが機能するかどうかを確認しようとしました。jQueryがブラウザにロードされているかどうかも確認しました(そうです)。

アラート("こんにちは"); 行は、ready 関数を渡すかどうかを確認するためだけに存在します。

これは、レイアウトページで参照する方法です。

<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("/Scripts/jquery-1.7.2.js")" type="text/javascript"></script>
    <script src="@Url.Content("/Scripts/jquery-1.7.2-vsdoc.js")" type="text/javascript"></script>
    <script src="@Url.Content("/Scripts/modernizr-2.5.3.js")" type="text/javascript"></script>
    <script src="@Url.Content("/Scripts/google-analytics.js")" type="text/javascript"></script>
</head>

助けてくれてありがとう。

4

2 に答える 2

1

ワイルドカードを使用してスクリプトを選択できるように、バンドル機能を使用することをお勧めします。これは、スクリプトの将来のバージョン アップグレードに役立ちます。

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-1.*"));

そして、それをレイアウトまたはhtmlのどこかにレンダリングします

  @Scripts.Render("~/bundles/jquery")
于 2012-08-08T01:27:11.950 に答える
0

各リンクの / の前に、「~」チルダ記号を追加してみてください。私もこの問題に遭遇しました。また、物理 js ファイルを (ソリューション エクスプローラーから) このレイアウト ページにドラッグしてみてください。フォルダ構造/パスが正しいかどうかを確認します。

私がしなければならなかった最後のことは、「../」のようなものを使用することです。これを何回使用するかは、親フォルダーを何個まで上げる必要があるかによって異なります。

それが役立つことを願っています。

于 2012-08-07T16:12:57.303 に答える