Asp.net我在页面中找不到文本框
我正在使用Visual Studio 2010和asp.net C#。我写了下面的代码:Asp.net我在页面中找不到文本框,asp.net,textbox,Asp.net,Textbox,我正在使用Visual Studio 2010和asp.net C#。我写了下面的代码: protected void Page_LoadComplete(object sender, EventArgs e) { tbTLCTitle.Text = readMainXml("homepage", "LeftColumnTop", "title"); String[] liTable = readMainXmlList("homepage", "LeftColumnTop",
protected void Page_LoadComplete(object sender, EventArgs e)
{
tbTLCTitle.Text = readMainXml("homepage", "LeftColumnTop", "title");
String[] liTable = readMainXmlList("homepage", "LeftColumnTop", "textRow");
for (int i = 0; i < liTable.Length; i++)
{
TextBox tb = new TextBox();
tb.CssClass = "tbCss";
tb.ID = "textbox" + i;
tb.Text = liTable[i];
tb.BorderStyle = BorderStyle.None;
divTextRow.Controls.Add(tb);
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
ContentPlaceHolder cph = (ContentPlaceHolder)Master.FindControl("cpTextContent");
if (cph != null)
{
var div = cph.FindControl("divTextRow");
if (div != null)
{
var tb =
div.FindControl("textbox0");
if (tb != null)
{
tb.Text = "TextBox found!";
}
}
}
}
受保护的无效页面\u加载完成(对象发送方,事件参数e)
{
Text=readMainXml(“主页”、“左栏顶”、“标题”);
字符串[]liTable=readMainXmlList(“主页”、“LeftColumnTop”、“textRow”);
for(int i=0;i
我将解释我想做什么:
我有一个带有id=“divTextRow”
的div,我想动态添加一些textbox对象
在Page\u LoadComplete
中,我读取xml,并使用xml中的文本和id=“TextBox”+I
(示例:textbox0)创建TextBox对象
在我的页面中,我有一个带有id=“btnSave”
和OnClick=“btnSave\u Click”
的按钮
现在我想从那些textbox对象中获取文本并将其保存为xml
我有要保存为xml的代码,但我无法从textbox对象获取文本。要做到这一点,带有
id=“divTextRow”
的div标记应该是服务器控件。因此,在.aspx文件的标记中将属性runat=“server”
添加到此div标记。请参阅MSDN中的文章。尝试使用document.getElementById方法。您也可以发布html代码吗?您也可以发布前端代码吗?看到这一点也会很有帮助。请发布这些控件的标记。它们是否都是服务器端的(runat=“server”
)?在代码中,您为文本框赋值。我没有看到任何可以从文本框中获取值的代码。您是否能够在var div=cph.FindControl(“divTextRow”)中成功获取div控件代码>谢谢你的回答。我已经这样做了,所以我可以找到这个对象(var div=cph.FindControl(“divTextRow”);)。问题就在那一行:var tb=div.FindControl(“textbox0”);我找不到该对象。通常ASP.NET会根据其作用域为此类动态生成的UI控件的ID添加前缀。因此,您的文本框可能具有类似“ctl00$cplh$textbox0”的ID。我建议做一个包含这些文本框的呈现页面的查看源代码,并检查这些控件的ID。我已经尝试了所有方法。Asp.net给了他们id=“cpTextContent\u textbox0”、“cpTextContent\u textbox1”等,但我找不到。。也许问题是每次回发邮件的文本框我都找不到,因为它们根本不存在。谢谢,但帮不了我。可能是因为我不熟悉java。