0

我在 MVC 中工作。我有一个视图,说 view1,它由一个 HTML 表单组成,如下所示:

    <form action='/Exercise/Exercise4_SubmitForm' method="post">
    Name: <input type="text" name="name" /><br />
    Emp: <input type="text" name="id" /><br />
    DateofBirth: <input type="text" name="Dateofbirth" /><br />
    Age: <input type="text" name="age" /><br />
    .
    so on
    .
    .
    <input type="submit" name="submit" value="Save" />
    </form>

我有 17 个文本框,上面只提到了 4 个。

现在 mvc 动作方法必须是

    public ActionResult Exercise4(string name, string code, string age, string dateofBirth,...)
    {
      //my code here
    }

我的问题是,有什么方法可以让我不必在上面给出的 mvc 操作方法中指定每个 17 个参数。因为下次可能有 70 个参数,所以指定每个参数是非常繁琐的工作。“我不想使用 HTML Helpers。”

请帮助我!!!

4

2 回答 2

2

创建模型

public class YourModel
{
    public string name {get;set;}
    public string code {get;set;}
    public string age {get;set;}
    public string date {get;set;}
    .
    .
    .
}

然后,在视图的顶部放置

@model Namespace.YourModel

之后切换所有输入

@Html.EditorFor(m => m.name)
@Html.EditorFor(m => m.code)
@Html.EditorFor(m => m.age)
@Html.EditorFor(m => m.date)

如果您不确定如何执行最后一部分,请创建一个新视图并选中创建强类型视图并从组合框中选择您的模型。还根据您的需要选择脚手架模板。那是一个插入、编辑、删除、列出的表格吗?

接收 Post 的操作将改为接收您的模型

public ActionResult Exercise4(YourModel model)
    {
      //my code here
    }
于 2013-03-01T12:20:43.723 回答
0

如果我是你,我会先看看: http ://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-5

事实是,表单中的字段必须是模型的一部分(您使用的是 MVC 对吗?),然后帖子将包含您的模型。

于 2013-03-01T12:19:44.830 回答