我有一些带有一些ID的网页表单。我也有这些名字的数组。并且在提交时我需要通过名称数组检索所有这些值。 类似的东西:
Request.Form["<some_name>"]
ASP中的问题用ctl00 $ MainContent $
替换名称答案 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];