私は本質的にウィジェットである部分的なビューを持っています。私は同じページにこれらの1と 'n'の間にいたいです。MVCパーシャルビューとJavascript
私の問題は、それぞれが実行するjavascriptを取得できないということです。
Index.cshtml
<div>
@Html.Partial("_ButtonPartialView")
<br/>
<br />
@Html.Partial("_ButtonPartialView")
</div>
_ButtonPartialView.cshtml
<h2>ButtonView</h2>
<button id="foo">
on
</button>
BundleConfig.cs
bundles.Add(new ScriptBundle("~/bundles/test").Include(
"~/Scripts/test.js"));
Layout.cshtml
@Scripts.Render("~/bundles/test")
test.js
$(document).ready(function() {
$('#foo').click (function() {
if ($('#foo').html() === 'on') {
$('#foo').html('off');
} else {
$('#foo').html("on");
}
});
});
私の問題は、私はそれが上と罰金オフを切り替える最初のボタンをクリックしたときに、です。 2番目のボタンをクリックすると、何も起こりません!
この問題を解決するには、もっと大きな問題があります。私は明らかに、私のパーシャルビューをすべて独立させたいと思っています。例えば私は1つのボタンをクリックしたくないので、それらはすべてトリガーします。彼らはすべてモデルを渡すつもりです。そのモデルを使って情報を表示するJSを書く必要があります。
したがって、各ウィジェットは独立している必要があります。
感謝のコメントで述べたように
最初部分に特異的であることがセレクターを変更後、他の回答で述べたように
に変更ボタンの代わりにクラスを使用します – brykneval