使用表单概念将隐藏的字段值从视图传递到控制器

时间:2014-01-01 12:15:47

标签: javascript jquery asp.net-mvc forms asp.net-mvc-4

我需要将一些隐藏字段从视图传递给控制器​​。

index.chtml

<div id="root">
................
    @Html.Hidden("HProjectTypeId", "somevalue")
</div>

上述内容不是以Html.BeginForm ajax格式的形式放置的。我需要在加载时自动获取此值。

如果它放在表单中,则意味着我们可以从FormCollectionRequest.Form["key"]轻松获取,但不会放在表单中。

public ActionResult Index()
{
    // here I need to get the hidden field "HProjectTypeId"
}

我期待JQuery或JavaScript中的一些代码可以做到这一点。

感谢,

希瓦

1 个答案:

答案 0 :(得分:1)

您所处的情况并不完全清楚(例如为什么不是Html.BeginForm中的隐藏字段?),但这里有一些建议:

假设您在隐藏字段中写入的值首先来自服务器,那么如何不将其写入隐藏字段,而是使用TempData集合呢?原始操作设置了值,它将在会话中持续存在直到下一个请求,使其可用于下一个被称为

的操作

...或:

假设表单提交导致索引操作被执行(因为您正在“制作完整帖子”),您可以使用JavaScript将隐藏字段的值复制到另一个隐藏字段中,其中包含 Html.BeginForm

...或:

同样,您可以使用JavaScript将隐藏字段的值写入Cookie,并使用custom ValueProvider for cookies在操作中访问它。

相关问题