如何在 c# 中获取 html 隐藏字段值

本文关键字:html 隐藏 字段 获取 | 更新日期: 2023-09-27 18:30:31

我在 c# 中的 li tag 中使用了一个隐藏字段。 请帮助我获取其中隐藏字段的值。

   public string text="";
   for (var i = 0; i < dt.Rows.Count; i++)
   {             
        text += "<li class=''>";
        text += "<input type='hidden' id='hid_dtlid' name='hid_dtlid' value='" + dt.Rows[i]["Spindtlid"].ToString() + "'/>";
        text += "</li>";   
   }

如何在 c# 中获取 html 隐藏字段值

隐藏字段元素的所有名称属性都应该是唯一的。这可以在服务器上访问(前提是它们都嵌套在 html 表单元素中)。您只需使用Request.Form集合即可。

下面说是 asp.net 呈现的标记的样子

<form method="post" action="foo.aspx">
   <!-- other stuff -->
   <input type="hidden" name="fooField" value="bar"/>
   <!-- more other stuff -->
</form>

请注意,这不是标有 runat="server" 的元素。即使这样,除非你仔细检查,否则你也不会知道区别。

在服务器端,您可以按如下方式访问它:

var value = Request.Form["fooField"]; //stores "bar"

在jquery中,它将是:

thevalue = $('#hid_dtlid').val()

如果你在postboack Request.Form["hid_dtlid"]上寻找服务器端

Asp.net 只不过是一系列的要求和回应,上面有一些花哨的删减。仍可通过RequestResponse对象访问基础知识

由于尚未将这些隐藏字段添加为 C# 隐藏字段对象,因此它们将不可用。
但是,通过回发,这些字段将由浏览器客户端在 Request.Form 集合的标头中发送,可以像下面这样提取:

var hiddenElements = Request.Form["hid_dtlid"] ;//it will return an array of fields with name hid_dtlid

由于您想直接在 C# 中获取 cotnrol 值,您需要在 Web 窗体 asp.net 为该控件设置 runat="server"。

<input  runat="server" type='hidden' id='hid_dtlid' name='hid_dtlid' value='" + dt.Rows[i]["Spindtlid"].ToString() + "' />

它何时会发布您可以获得的数据

var hiddenElements = Request.Form["ID"]