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

Posted

技术标签:

【中文标题】如何使用 Asp.net MVC Razor 将隐藏字段值从一个控制器传递到另一个控制器【英文标题】:How to pass a hidden field value from one controller to another controller using Asp.net MVC Razor 【发布时间】:2014-03-19 00:25:32 【问题描述】:

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

@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】:

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

在您的示例中,input 只有一个 id

试试:

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

此外,您可以让默认模型绑定为您读取 POST 的值和设置属性,这样您就不必使用 Request["testName"] 手动完成:

public ViewResult AddToCart(FormCollection collection1, string testName)

【讨论】:

以上是关于如何使用 Asp.net MVC Razor 将隐藏字段值从一个控制器传递到另一个控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用asp.net mvc razor在视图中访问全局资源

如何使用 jquery 或 ajax 在 c#/asp.net 中为 MVC 项目更新 razor 部分视图

ASP.NET Core 2,使用没有 MVC 的 Razor 页面单击按钮

如何使用 Razor ASp.NET MVC 连接 HTML 元素的 id

ASP.NET MVC Razor

如何将两个模型组合成一个模型并使用 asp.net MVC razor 将其传递给查看