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

div*_*vya 1 forms asp.net-mvc view hidden-field razor

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

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

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

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

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

And*_*NET 5

提交表单时,将使用该name属性将值发送到服务器.

在你的例子中,input唯一有一个id.

尝试:

<input type="hidden" id="testName" name="testName" value= @model[0].tblProd[0].ProductName />
Run Code Online (Sandbox Code Playgroud)

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

public ViewResult AddToCart(FormCollection collection1, string testName)
Run Code Online (Sandbox Code Playgroud)