我可以在cshtml
中使用这样的内容吗?@Html.hiddenfor(model => model.name , "passname")
在控制器中:
我想访问这个modal.name,它将具有我设置的值,即“passname”
答案 0 :(得分:1)
2种方式:
1 - 您的模型必须具有可以传递给HiddenFor的此属性。例如
类
class PageModel{
public string HiddenFieldValue{get;set;}
public string Name {get;set;}
}
在cshtml中
@model PageModel
...
@Html.hiddenfor(model => model.name, model.HiddenFieldValue)
控制器中的
public ViewResult MyPage(){
return View(new PageModel(){
HiddenFieldValue = "Hello World!";
});
}
第二种方式:通过ViewBag/ViewData传入。
控制器中的
public ViewResult MyPage(){
ViewBag.HiddenFieldValue = "Hello World!";
return View();
}
在cshtml中
@model PageModel
...
@Html.hiddenfor(model => model.name, ViewBag.HiddenFieldValue)
答案 1 :(得分:1)
隐藏字段的值将与所有其他POST数据一起发送(如果您的表单使用POST)。
所以你可以:
使用Request.Form [“passname”]或事件Request [“passname”]
从请求中获取// Example 1
public class MyModel {
// other properties
public string passname { get; set; }
}
public class MyController : Controller {
[HttpPost]
public ActionResult MyAction(MyModel data) {
}
}
// Example 2
public class MyController : Controller {
[HttpPost]
public ActionResult MyAction(string passname) {
}
}
// Example 3
public class MyController : Controller {
[HttpPost]
public ActionResult MyAction(FormCollection data) {
var passname = data["passname"];
}
}
// Example 4
public class MyController : Controller {
[HttpPost]
public ActionResult MyAction() {
var passname = Request.Form["passname"];
}
}