我需要将一些隐藏字段从视图传递给控制器。
在 index.chtml
中<div id="root">
................
@Html.Hidden("HProjectTypeId", "somevalue")
</div>
上述内容不是以Html.BeginForm
或 ajax格式的形式放置的。我需要在加载时自动获取此值。
如果它放在表单中,则意味着我们可以从FormCollection
或Request.Form["key"]
轻松获取,但不会放在表单中。
public ActionResult Index()
{
// here I need to get the hidden field "HProjectTypeId"
}
我期待JQuery或JavaScript中的一些代码可以做到这一点。
感谢,
希瓦
答案 0 :(得分:1)
您所处的情况并不完全清楚(例如为什么不是Html.BeginForm
中的隐藏字段?),但这里有一些建议:
假设您在隐藏字段中写入的值首先来自服务器,那么如何不将其写入隐藏字段,而是使用TempData
集合呢?原始操作设置了值,它将在会话中持续存在直到下一个请求,使其可用于下一个被称为
...或:
假设表单提交导致索引操作被执行(因为您正在“制作完整帖子”),您可以使用JavaScript将隐藏字段的值复制到另一个隐藏字段中,其中包含 在Html.BeginForm
...或:
同样,您可以使用JavaScript将隐藏字段的值写入Cookie,并使用custom ValueProvider for cookies在操作中访问它。