0

こんなアクティビティを利用したい$('#myModal').show();

元の呼び出しプラグイン ルーチンは次のとおりです。

<script type="text/javascript">
$(document).ready(function() {
     $('#myButton').click(function(e) {
          e.preventDefault();
      $('#myModal').show();
     });
});
</script>

私は自分のコードを以下のセクションに入れました。ここ$('#myModal').show({});は動かない

    @using (Html.BeginForm("Contact", "Home", FormMethod.Post, new { name = "send-contact", id = "contactform1" }))
    {       
            @Html.AntiForgeryToken()  

            if (!String.IsNullOrEmpty(stResult)) 
             {                
                 <text>
                        <div id="myModal" class="reveal-modal">
                             <h1>Modal Title</h1>
                             <p>Any content could go in here.</p>
                             <a class="close-reveal-modal">&#215;</a>
                        </div>

                     $('#myModal').show({}); // The desired function!
                 </text>

             }
     }

私のコード内でこのアプローチには2つの問題があります

  1. JQuery ライブラリは、マスター ページ (_Layout) の一番下の行にあります。そこにある有名な関数内のすべてのプラグインのラッパーがありますready()

  2. 別の方法として、Wrapper の$('#myModal').show();内部に配置し、条件に基づいJQuery.ready()て が見つかった場合にすべてを呼び出すと、必要な関数が起動されます。"#myModal"しかし、再びそれは発火しません。

このアプローチはより論理的であるように思われ、これら2つのアプローチ間の唯一の論理的である可能性があると思います。最初のアプローチは、関数がJQuery準備完了関数に配置されていないためです。ここで別の準備完了関数を使用すると、重複のために間違っています準備機能の。

4

1 に答える 1

3

という名前の部分ビューを含める場合は、Foo.cshtmlという名前の部分ビューを作成してFooScripts.cshtml、残りのスクリプトが読み込まれる場所にそのビューをレンダリングすることもできます。

<h2>Main View</h2>

@Html.Partial("Foo")

...


@section scripts {
    @Scripts.Render("~/bundles/jquery")
    @Html.Partial("FooScripts")
}
于 2013-07-29T13:40:05.143 に答える