我可以通过提交从模型集合中发送值吗?

时间:2015-03-03 17:14:49

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我有这张桌子

<table id="Products" class="Products">
    <tr>
        <th>ProductId</th>
        <th>Productname</th>
        <th>Quantity</th>
        <th>UnitPrice</th>
    </tr>
    <% for(int i=0; i < Model.NorthOrderDetails.Count; i++)
       {
           %>
            <tr>
        <td><%: Html.Label(Model.NorthOrderDetails[i].ProductID.ToString()) %></td>
        <td><%: Html.Label(Model.NorthOrderDetails[i].ProductName) %> </td>
        <td><%: Html.TextBoxFor(m => m.NorthOrderDetails[i].Quantity) %></td>
        <td><%: Html.TextBoxFor(m => m.NorthOrderDetails[i].UnitPrice) %></td>
        <td> <input type="submit" value="?" Name="qodel"  /> </td>
    </tr>
    <% } %>

</table>
 <% } %>

我想向控制器发送按下按钮的ProductID的值。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

所以如果没有Javascript,你在这里稍微限制自己,我认为下面的代码应该可行,但我确定有人可以在其中挖洞!

<table id="Products" class="Products">
    <thead>
        <tr>
            <th>ProductId</th>
            <th>Productname</th>
            <th>Quantity</th>
            <th>UnitPrice</th>
        </tr>
    </thead>
    <tbody>
        @{ 
            for(int i=0; i < Model.NorthOrderDetails.Count; i++)
            {
                <tr>
                    <td>
                        @Html.Label(Model.NorthOrderDetails[i].ProductID.ToString())
                    </td>
                    <td>    
                        @Html.Label(Model.NorthOrderDetails[i].ProductName) 
                    </td>
                    <td>
                        @Html.TextBoxFor(m => m.NorthOrderDetails[i].Quantity)   
                    </td>
                    <td>
                        @Html.TextBoxFor(m => m.NorthOrderDetails[i].UnitPrice)
                    </td>
                    <td>
                        @Html.ActionLink("Edit", "Vi")
                    </td>

                    <td> 
                        <input type="submit" name="submitValue" 
                            value="@Model.NorthOrderDetails[i].SomeValue"/> 
                    </td>
                </tr>
            }            
        }
    </tbody>
</table>

然后确保您的控制器操作接受输入的name属性作为参数:

public ActionResult YourControllerMethod(string submitValue) {
    ....
}

代码在MVC3 +中看起来像那样,<%来自MVC2。