如何通过asp.net的名称获取元素的“ID”

时间:2013-11-06 21:29:37

标签: c# asp.net forms post

我有一个通用代码,可以在post值上创建一个循环。我需要获取发布数据的元素的id。

例如,如果Html源是:

<form id="form1" runat="server">
   <input id="Name" type="text" name="Full Name" runat="server" />
   <input id="Email" type="text" name="Email Address" runat="server" />
   <input id="Phone" type="text" name="Phone Number" runat="server" />
</form>

C#代码:

for (int i = 1; i < Request.Form.Count; ++i)
{
    string Value = Request.Form[i];
    if (Value != "")
    {
        string ControlName = Request.Form.Keys[i];
        string ControlId = ""; // Here I need to find the Id
    }
}

如果ControlName是:“全名”,在ControlId中我需要:“名称”等。

欢迎任何建议。

1 个答案:

答案 0 :(得分:3)

Request.Form 只返回 NameValueCollection

如果要将表单内的控件作为服务器控件检索,则需要使用 Page.Form

foreach (var control in Page.Form.Controls)
{
    if (control is HtmlInputControl)
    {
        var htmlInputControl = control as HtmlInputControl;
        string controlName = htmlInputControl.Name;
        string controlId = htmlInputControl.ID;
    }
}
相关问题