我有一些帶有一些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];