私が取り組んでいるMVCアプリの場合、次のような多数のサブビューを設定できるビューがあります。
一部のビューの一部
@model SuperFoo
<!-- snip unimportant details... ->
@foreach(var current in Model.Items)
{
@Html.Partial('_Item', current);
}
<!-- ...SNIP more useless details... -->
<script>
$(document).ready(function () {
$('.add-item').click(function () {
// Make some AJAX call to do something.
});
});
</script>
個々のアイテムの部分
@model Foo
<div class='some-styling'>
@Html.HiddenFor(m => m.Name)
@Html.HiddenFor(m => m.PropA)
@Html.HiddenFor(m => m.PropN)
<input type='text' value='' />
<a href='javascript:;' class='no-line add-item'>Add To Cart</a>
</div>
私は2つのことを理解しようとしています:
A)クリックした特定のボタンだけがそのイベントを起動するようにするにはどうすればよいですか?
B)特定のアイテムについて取得した情報に固有の情報をどのように使用しますか?お気づきの方もいらっしゃると思いますが、アイテムレベルのビューに編集可能な入力フィールドがあります。クリックがトリガーされると、結果のAJAX呼び出しはそのテキストボックスの値を使用する必要があります(これは簡単な部分です$('selector').val()
) 。
私はjQueryとMVC3のみを使用しています。質問(おそらくばかげたものですが、後で説明します):個々のアイテムの追加リンクは、それらをレンダリングしているパーシャルのコンテキストを使用してどのように機能しますか?