通常,当您有多个输入字段时,它们都与一个ID绑定。因此,从View到数据库的映射非常简单。但是在我的情况下,我有多个输入(例如,一行上有2个文本框,另一行有下拉列表和文本框),每个输入都有一个id。我希望能够按下提交按钮并使其正确更新。
注意:formRow是一个ViewModel。
一些示例代码:
<div class="ctrl">
@{
foreach (var rowInput in formRow.RowInput)
{
switch (rowInput.RowCtrl.Type)
{
case "dropdown":
; break;
case "text":
@Html.TextBoxFor(blah => rowInput.InputtedData) ; break;
case "radio":
; break;
case "checkbox":
; break;
}
}
}
</div>
<div class="done">
<input id="@formRow.RowInput[0].InputtedDataID" type="button" value="button" />
</div>
实际HTML源视图:
<div class="ctrl">
<input id="rowInput_InputtedData" name="rowInput.InputtedData" type="text" value="UP, UP, DOWN, DOWN, LEFT, LEFT, RIGHT, RIGHT, B, A, B, A, START" /> </div>
<div class="done">
<input id="2" type="button" value="button" />
</div>
答案 0 :(得分:1)
我得到你需要阅读一些MVC3基础知识的印象。从我收集的内容中,您只是尝试提交用于服务器端处理的表单数据,这与MVC3非常直接。通常情况下,你会有一个控制器,其动作能够返回一些ActionResult,它通常恰好是一个View,可视化你创建的底层模型。在视图中,您可以使用Html.BeginForm()来构建基于此模型的表单。
然后,提交按钮会将Post发送到同一个控制器,然后发送到能够处理结果模型的帖子的动作。
This blog post总结了你需要知道的最基本的部分:
根据您想要的技术方式,帖子的其余部分可能会或可能不会很有趣。
我建议您查看构建MVC3应用程序的一些基本介绍。尝试完成这一个:http://www.asp.net/mvc/tutorials/older-versions/javascript/creating-a-mvc-3-application-with-razor-and-unobtrusive-javascript