我有一些带有一些ID的web表单。我也有这些名字的数组。并提交我需要通过名称数组检索所有这些值。 喜欢的东西:通过名称或标识获取表单字段.net
Request.Form["<some_name>"]
问题,即ASP替代名称与ctl00 $ $搜索Maincontent
我有一些带有一些ID的web表单。我也有这些名字的数组。并提交我需要通过名称数组检索所有这些值。 喜欢的东西:通过名称或标识获取表单字段.net
Request.Form["<some_name>"]
问题,即ASP替代名称与ctl00 $ $搜索Maincontent
您可以将ClientIDMode
设置为静态的,所有控制的ID将保持不变,因为他们正在呈现。
这将允许您通过他们的实际ID获取他们。
此设置在页面中加入以下...
<%@ Page ClientIDMode="Static" ...
http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx
嘿,你也可以试试这个。
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 = "";
}
}
}
}
希望它可以帮助你
没有找到任何正常的解决方案。我的目的是正常使用:
private string GetFieldValue(string fieldName)
{
return Request.Form.Cast<string>()
.Where(key => key.EndsWith(fieldName))
.ToDictionary(key => key, key => Request.Form[key])
.Values.FirstOrDefault();
}
你也可以做这样的事情。
var item = from key in Request.Form.AllKeys
where key.Contains(fieldname)
select Request.Form[key];