Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何从控制器访问cshtml中的隐藏值集?_.net_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

.net 如何从控制器访问cshtml中的隐藏值集?

.net 如何从控制器访问cshtml中的隐藏值集?,.net,asp.net,asp.net-mvc-3,.net,Asp.net,Asp.net Mvc 3,我的cshtml中可以有这样的内容吗 @Html.hiddenfor(model => model.name , "passname") 在控制器中: 我想访问这个modal.name,它将具有我设置的值,即“passname”2种方式: 1-模型必须具有可传递给HiddenFor的此属性。比如说 阶级 在cshtml中 @model PageModel ... @Html.hiddenfor(model => model.name, model.HiddenFieldValue)

我的cshtml中可以有这样的内容吗

@Html.hiddenfor(model => model.name , "passname")
在控制器中:

我想访问这个modal.name,它将具有我设置的值,即“passname”

2种方式:

1-模型必须具有可传递给HiddenFor的此属性。比如说

阶级

在cshtml中

@model PageModel
...
@Html.hiddenfor(model => model.name, model.HiddenFieldValue)
@model PageModel
...
@Html.hiddenfor(model => model.name, ViewBag.HiddenFieldValue)
内部控制器

public ViewResult MyPage(){
    return View(new PageModel(){
        HiddenFieldValue = "Hello World!";
    });
}
public ViewResult MyPage(){
    ViewBag.HiddenFieldValue = "Hello World!";
    return View();
}

第二种方式:通过

内部控制器

public ViewResult MyPage(){
    return View(new PageModel(){
        HiddenFieldValue = "Hello World!";
    });
}
public ViewResult MyPage(){
    ViewBag.HiddenFieldValue = "Hello World!";
    return View();
}
在cshtml中

@model PageModel
...
@Html.hiddenfor(model => model.name, model.HiddenFieldValue)
@model PageModel
...
@Html.hiddenfor(model => model.name, ViewBag.HiddenFieldValue)

隐藏字段的值将与所有其他POST数据一起发送(如果表单使用POST)

因此,您可以:

  • 将属性“passname”添加到用于检索数据的模型中
  • 在处理post的操作上创建一个名为“passname”的参数
  • 将FormCollection添加到argement(在处理post的操作上),并从中检索值
  • 使用Request.Form[“passname”]或event Request[“passname”]从请求获取它


  • 控制器里没有模型吗?你不能直接访问model.name吗?是的,但在我的页面中,我没有name的输入字段,我只想将默认文本值传递给我的model。这样做是为了确保该值仅来自页面。你只需直接在控制器中调用model.PropertyName,它是否隐藏并不重要。所以你只需在视图中传递默认值,并以相同的方式在控制器中使用它。只是要评论一下:我把这个问题解释为控制器如何控制隐藏文本字段的值。如果这是错误的,那么就忽略这个帖子:)好的。我的javascript中有一个变量,它是用cshtml编写的。当我发布页面时,我需要该变量的值。也就是说,我想在我的控制器中输入变量值。你能帮我在一个隐藏字段中输出该变量并将其发布到你的控制器中吗?好的。我在javascript中得到了一个变量,它是用cshtml编写的。当我发布页面时,我需要该变量的值。那就是我想在我的控制器中输入变量值。你能帮我吗