如何使用Asp.net MVC Razor将隐藏字段值从一个控制器传递到另一个控制器

时间:2014-03-19 00:25:32

标签: asp.net-mvc forms razor view hidden-field

我正在尝试将隐藏字段值从一个控制器中的视图传递到另一个控制器。我尝试了以下代码:

@using (Html.BeginForm("AddToCart","Cart"))
{
    <input type="hidden" id="testName" value= @model[0].tblProd[0].ProductName />
}

并尝试在名为“Cart”的控制器中检索该代码,如下所示:

public ViewResult AddToCart(FormCollection collection1)
        {
            string prodName = Request["testName"];
            return View();
        }

但这不起作用。有人可以协助我解决这个问题。

1 个答案:

答案 0 :(得分:5)

提交表单后,使用name属性将值发送到服务器。

在您的示例中,input只有id

尝试:

<input type="hidden" id="testName" name="testName" value= @model[0].tblProd[0].ProductName />

此外,您可以让默认模型绑定负责读取POSTed值并为您设置属性,这样您就不必使用Request["testName"]手动执行此操作:

public ViewResult AddToCart(FormCollection collection1, string testName)