如何在MVC中访问razor函数中的html字段值?

如何在MVC中访问razor函数中的html字段值?,razor,model-view-controller,Razor,Model View Controller,如何在razor语法中访问函数中的html控件值? 假设我有一个隐藏字段: @Html.Hidden("ActiveTab","Task") 我需要从razor视图中的函数访问此字段的值。 请举例说明。 提前感谢。如您所料,这将在您的视图中呈现一个隐藏的标记 渲染后,如果需要访问它,您可能希望通过Javascript使用与第一个参数匹配的id属性(在本例中为“ActiveTab”): //使用Javascript获取隐藏字段的值 var active=document.getElementB

如何在razor语法中访问函数中的html控件值? 假设我有一个隐藏字段:

@Html.Hidden("ActiveTab","Task")
我需要从razor视图中的函数访问此字段的值。 请举例说明。
提前感谢。

如您所料,这将在您的视图中呈现一个隐藏的
标记

渲染后,如果需要访问它,您可能希望通过Javascript使用与第一个参数匹配的
id
属性(在本例中为“ActiveTab”):


//使用Javascript获取隐藏字段的值
var active=document.getElementById('ActiveTab')。value;//产生“任务”

Razor本身不可能以服务器端的方式访问它,而不实际发布包含它的
Html.Hidden()
帮助程序要做的就是为它呈现适当的客户端标记(发布后由服务器处理)。

正如您所期望的,这将在视图中呈现一个隐藏的
标记

渲染后,如果需要访问它,您可能希望通过Javascript使用与第一个参数匹配的
id
属性(在本例中为“ActiveTab”):


//使用Javascript获取隐藏字段的值
var active=document.getElementById('ActiveTab')。value;//产生“任务”


Razor本身不可能以服务器端的方式访问它,而不实际发布包含它的
。所有的
Html.Hidden()。我指的是.cshtml文件中razor代码中的函数。比如:@functions{//在这里添加代码。}我不知道这是否可行。
Html.Hidden()
帮助程序只需呈现一个
标记,在呈现该标记后,在将包含
的标记发布到服务器之前,您将无法访问该标记(客户端代码之外)。一旦发布数据,隐藏字段也将被发布,将此值存储在ViewBag中,并在服务器端检索它。注意-您无法直接访问隐藏字段数据,因为服务器代码将首先执行,然后是客户端代码。您是否试图通过服务器端代码或客户端(如Javascript)访问此数据?您好,我需要从服务器端访问。我指的是.cshtml文件中razor代码中的函数。比如:@functions{//在这里添加代码。}我不知道这是否可行。
Html.Hidden()
帮助程序只需呈现一个
标记,在呈现该标记后,在将包含
的标记发布到服务器之前,您将无法访问该标记(客户端代码之外)。一旦发布数据,隐藏字段也将被发布,将此值存储在ViewBag中,并在服务器端检索它。注意-您不能直接访问隐藏字段数据,因为服务器代码将首先执行,然后是客户端代码。您好,我是否需要将语法包含在标记中。是的,我已经更新并添加了该语法。您还需要确保
标记位于视图的底部,以确保访问元素时不会出现任何问题。好的,我可以在代码的后面部分重用该变量(var active)吗。我的意思是像这样@if(active==“Notification”)用这种方法声明它实际上会生成一个Javascript变量,它只能通过客户端代码(Javascript而不是C#/Razor代码)访问。如果您想处理这个问题,您可以考虑使用<代码> ActueTab< /Cuff>属性填充模型并将其传递到视图中。然后您可以按预期通过
Model.ActiveTab==“通知”
进行检查。感谢您的及时支持。我可以这样写://使用Javascript Model.ActiveTab=document.getElementById('ActiveTab')获取隐藏字段的值,然后将Model.ActiveTab用于我的其他用途。您好,我是否需要将语法包含在标记中。是的,我已经更新并添加了它。您还需要确保
标记位于视图的底部,以确保访问元素时不会出现任何问题。好的,我可以在代码的后面部分重用该变量(var active)吗。我的意思是像这样@if(active==“Notification”)用这种方法声明它实际上会生成一个Javascript变量,它只能通过客户端代码(Javascript而不是C#/Razor代码)访问。如果您想处理这个问题,您可以考虑使用<代码> ActueTab< /Cuff>属性填充模型并将其传递到视图中。然后您可以按预期通过
Model.ActiveTab==“通知”
进行检查。感谢您的及时支持。我可以这样写://使用Javascript Model.ActiveTab=document.getElementById('ActiveTab')获取隐藏字段的值,然后将Model.ActiveTab用于其他用途。
<script>
    // Get the value of your hidden field using Javascript
    var active = document.getElementById('ActiveTab').value; // yields "Task"
</script>