代码之家  ›  专栏  ›  技术社区  ›  Kieron

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

  •  0
  • Kieron  · 技术社区  · 14 年前

    我在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 回复  |  直到 14 年前
        1
  •  0
  •   Rob    14 年前

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

        2
  •  0
  •   Krisc    14 年前

    你为什么用按钮?

    一个链接可以代替吗?

    <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>