在 .NET 中回发后从后面的代码中获取 HTML5 输入类型搜索的值

Get value of HTML5 input type search from code behind after postback in .NET

我正在我的网页中创建一个用于搜索的示例文本框(我正在使用 VB):

Dim txtSearchFilter As New HtmlGenericControl("input")
With txtSearchFilter
  .ID = "txtSearchFilter"
  .Attributes.Add("placeholder","Filter")
  .Attributes.Add("type","search")
  .Attributes.Add("maxlength","80")         
End With

很棒,因为这是 HTML5 样式的框,它具有一些有用的功能,例如框右侧的 "x" 用于清除文本输入。但是,从后面的代码中,我无法检索输入的文本。我试过:

txtSearchFilter.InnerText
txtSearchFilter.InnerHtml
txtSearchFilter.Attributes("value")
Request.Form("txtSearchFilter")

但是 none 这些工作。有没有办法获取值?

P.S., 所以阻止我选择 HTML5 标签,而是放入 HTML 标签,即使我选择了 HTML5 标签。

向输入元素添加 name 属性。

txtSearchFilter.Attributes.Add("name", "txtSearchFilter")

然后在回发时,您可以通过 Request.Form(name_attribute) 检索值。基于以上代码的示例:

Dim value as String = Request.Form("txtSearchFilter")