我正在尝试从我的控制器访问用户在表格中引入的值。
此表不是模型的一部分,视图源代码类似于:
<table id="tableSeriales" summary="Seriales" class="servicesT" cellspacing="0" style="width: 100%">
<tr>
<td class="servHd">Seriales</td>
</tr>
<tr id="t0">
<td class="servBodL">
<input id="0" type="text" value="1234" onkeypress = "return handleKeyPress(event, this.id);"/>
<input id="1" type="text" value="578" onkeypress = "return handleKeyPress(event, this.id);"/>
.
.
.
</td>
</tr>
</table>
如何从控制器获取这些值(1234,578)?
接收表单集不起作用,因为它没有得到表...
谢谢。
答案 0 :(得分:0)
使用FormCollection
应该有效,除非您的表格不在<form>
标记内
除了Lazarus的评论之外,你可以试试这个,但你必须为每个人设置name
属性:
<input id="seriales[0]" name="seriales[0]" type="text" value="1234" onkeypress="return handleKeyPress(event, this.id);"/>
<input id="seriales[1]" name="seriales[1]" type="text" value="578" onkeypress="return handleKeyPress(event, this.id);"/>
现在,在您的Action方法中,您可以使您的方法如下所示:
[HttpPost]
public ActionResult MyMethod(IList<int> seriales)
{
// seriales.Count() == 2
// seriales[0] == 1234
// seriales[1] == 578
return View();
}
和seriales
将连接到这些值。
答案 1 :(得分:0)
第一个选项: 使用FormCollection是访问动态数据的最简单方法。奇怪的是你无法从中获取这些值,你可以查看以下内容吗?
第二个选项: 第二个选项是在模型中添加一个集合,并相应地命名所有内容。即
public class MyModel
{
...
public IList<string> MyTableItems { get; set; }
}
并在您的视图中使用以下名称:
<input name="MyTableItems[]" value="" />