0

MVCビューにオブジェクトのリストがあり、それぞれに一連の送信ボタン(上に移動、下に移動、削除)があります。

この質問の回答を使用して、ボタンをクリックすることができますが、どのアイテムを操作するかを知る必要があります。

問題は、入力のvalue属性が返されるという事実に起因します。それよりも多くの情報、つまりIDが必要です。

以下は、各アイテムをレンダリングするforループのコンテンツのスニペットです。

<ul>
    <li><input type="submit" name="SubmitButton" value="Move-Up" class="linked-content-position-modifier" /></li>
    <li><input type="submit" name="SubmitButton" value="Move-Down" class="linked-content-position-modifier" /></li>
    <li><input type="submit" name="SubmitButton" value="Remove" class="linked-content-modifier" /></li>
    <li><%= Model.Contents[i] %></li>
</ul>

フォームがポストバックされると、SubmitButtonの値がMove-Up、Move-Down、またはRemoveのいずれかであることがわかりますが、配列内のどの項目を参照しているかもわかりません。

値を本当に醜いものに変更せずに、どのアイテムを参照しているかをどのように判断できますか?

4

2 に答える 2

0

簡単なアイデアですが、各行に隠しフィールドを追加して、どの行が送信されるかを確認してみてください。

于 2010-04-20T09:50:59.703 に答える
0

なぜボタンを使っているのですか?

代わりにリンクが機能しますか?

<a href="controller/MoveUp/<%= Model.Id %>">Move Up</a>

私は同様のコードを使用してテーブル内のアイテムを更新しますが、JavaScriptを使用してそれを行い、それに応じてテーブルを更新します...

<script type="text/javascript">
    $('img.action').click(function(){
        var itemId = this.attr('id'); // Do some parsing of the id here, i use a format of bi-##

        $.ajax({ uri: 'controller/MoveUp/' + itemId });
    });
</script>
于 2010-04-21T15:37:32.997 に答える