获取名称不在模型类中的额外输入

时间:2013-05-17 05:21:39

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我有以下型号。

public class M 
{ 
    public int A { get; set; } 
    public int B { get; set; } 
}

我有以下Razor视图。

@model MyApp.Models.M
@using (Html.BEginForm("Create", "Test", new { id = ...}, FormMethod.Post)) {
    @Html.EditorFor(m => m.A)
    @Html.EditorFor(m => m.B)
    <input name="C">
}

控制器方法,

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Guid id, M m)
{
    // How to get C?
}

如何在控制器中获取输入C的值? (一个解决方案可能是创建一个额外的ViewModel并将其映射到模型,有没有更简单的方法?)

1 个答案:

答案 0 :(得分:2)

你可以添加一个名为FormCollection formCollection的附加方法参数,你可以查询这个'C'的formCollection e.g。

var yourValueForC = formCollection["C"]

或者你可以按如下方式询问请求

var yourValueForC = Request.Form["C"]