-1

通常,当您有多个输入字段时,它们都与一个 id 相关联。所以从视图映射到数据库是相当简单的。但是,在我的情况下,我有多个输入(例如,一行上有 2 个文本框,另一行上有一个下拉列表和文本框),每个输入都有一个 id。我希望能够按下提交按钮并正确更新所有内容。

注意:formRow 是一个 ViewModel。

一些示例代码:

<div class="ctrl">
                &nbsp;
                @{
                    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">
                &nbsp;
<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>
4

1 回答 1

1

我觉得您需要阅读一些 MVC3 基础知识。根据我的收集,您只是尝试提交表单数据以进行服务器端处理,而这对于 MVC3 来说非常简单。通常你会有一个控制器,它的动作能够返回一些 ActionResult,它通常是一个视图,可视化你创建的底层模型。在视图中,您可以使用 Html.BeginForm() 来构建基于此模型的表单。

然后提交按钮将发送一个 Post 到同一个控制器,然后发送到一个能够处理生成模型的 post 的操作。

这篇博文很好地总结了你需要知道的最基本的部分:

  • 从 Global.asax 添加一个 Route 对象,该对象表示您要捕获的特定 URL 模式并映射到控制器/操作
  • 添加一个 Controller 子类,应调用其 [ControllerActions] 以响应请求,填充 ViewData
  • 添加一个使用 ViewData 呈现一些 HTML 的视图模板

帖子的其余部分可能有趣也可能不有趣,具体取决于您想要获得的技术程度。

我建议看一些关于构建 MVC3 应用程序的基本介绍。尝试完成这个:http ://www.asp.net/mvc/tutorials/older-versions/javascript/creating-a-mvc-3-application-with-razor-and-unobtrusive-javascript

于 2012-06-29T14:30:32.750 回答