MVC多个对象数组上的提交按钮

时间:2010-04-20 09:46:33

标签: asp.net-mvc-2 http-post

我在MVC视图中有一个对象列表,每个对象都有一组提交按钮 - 上移,下移和删除。

使用this问题的答案,我可以点击按钮 - 但我需要知道它将在哪个项目上运行。

问题来自输入的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 - 但不知道它所引用的数组中的哪个项目。

如果不将值更改为非常丑陋的东西,我该如何判断它指的是哪个项目?

2 个答案:

答案 0 :(得分:0)

只是一个简单的想法,但也许您可以尝试将hiddenfield添加到每一行并查看哪一行被提交?

答案 1 :(得分: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>