按名称或ID ASP .Net获取表单字段

时间:2013-07-11 11:07:59

标签: c# asp.net

我有一些带有一些ID的网页表单。我也有这些名字的数组。并且在提交时我需要通过名称数组检索所有这些值。 类似的东西:

Request.Form["<some_name>"]

ASP中的问题用ctl00 $ MainContent $

替换名称

4 个答案:

答案 0 :(得分:2)

您可以将ClientIDMode设置为静态,并且您的所有控件ID都将保持与呈现的相同。

这将允许您通过他们的实际身份证明来获取它们。

通过添加以下内容在页面中设置...

<%@ Page ClientIDMode="Static" ...

http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

答案 1 :(得分:0)

嘿,你也可以尝试这个。

 private void ChangeBtn_Click(object sender, EventArgs e)
 {
 foreach(Control c in Page.Controls)
 {
   if (c.Controls.Count > 0)
   {
     foreach(Control c2 in c.Controls)
     {
        if (c2.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
        {
            myspan.InnerHtml = ((TextBox)c2).Text;
           ((TextBox)c2).Text = "";
        }
     }
  }
 }

希望它可以帮到你

答案 2 :(得分:0)

没有找到任何正常的解决方案。就我的目的而言,使用是正常的:

private string GetFieldValue(string fieldName)
{
    return Request.Form.Cast<string>()
        .Where(key => key.EndsWith(fieldName))
        .ToDictionary(key => key, key => Request.Form[key])
        .Values.FirstOrDefault();
}

答案 3 :(得分:0)

你也可以这样做。

   var item = from key in Request.Form.AllKeys
                               where key.Contains(fieldname)
                               select Request.Form[key];