【发布时间】:2016-10-02 06:59:43
【问题描述】:
我想从集合中获取控制器和模型以及特定值,这与我按下按钮的行相同
<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><%: @Html.ActionLink("Go to second view", "ViewTwo", "Order", Model, null)%></td>
<input type="submit" title="ads" value =<%: Model.NorthOrderDetails[i].ProductID.ToString()%> name=ssad />
<tr>
<% } %>
</table>
我可以在从集合提交中设置值吗,例如
<input type="submit" title="ads" value =<%: Model.NorthOrderDetails[i].ProductID.ToString()%> name=ssad />
这个值将等于 17,例如在控制器中。这项工作,但是如何将按钮中的文本从集合中的值更改为任何文本?
更新 我使用 Stephen Muecke 的代码,但我编辑表格是因为我使用 aspx 页面
<td><button type="button" class="delete" data-id="<%:Model.NorthOrderDetails[i].ProductID %>">Delete</button><td>
<td><input type="hidden" name="<%:Model.NorthOrderDetails[i].ProductName %>" value="<%:i %>" /><td>
不幸的是,脚本没有调用控制器
【问题讨论】:
-
这行不通。您的提交按钮将发回包含整个集合的表单。如果您只想回发集合中的一个对象,那么您需要一种不同的方法(最好是 ajax) - 但为什么不回发整个集合呢?
-
@StephenMuecke。我想在模型中发送所有模型和一个特定的集合值,因为我想在表中获取新的/新值以在会话中更新它们,并且我想从我按下按钮的集合中删除一项
-
一个提交按钮的值被回传,所以你可以检查
FormCollection或者在POST方法中添加一个额外的参数——例如public ActionResult Views(IEnumerable<YourModel> model, int sad) -
@StephenMuecke 你能编辑我的问题吗?不清楚了解
-
@StephenMuecke。这项工作 name=ssad /> 但知道我有来自集合的名称为 2,17 的按钮
标签: c# asp.net asp.net-mvc