我有一个包含 UserControl(.ascx) 的简单网页。这是我的用户控件源
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucReportTextBox.ascx.cs"
Inherits="Intranet.UserControl.ucReport" %>
<table width="100%">
<tr>
<td>
<asp:TextBox ID="txtQuery" runat="server" Width="250px" />
</td>
</tr>
</table>
还有我的网页源
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/DefaultMasterPage.Master"
AutoEventWireup="true" CodeBehind="ComposeReport.aspx.cs" Inherits="Intranet.MasterPage.WebForm4" %>
<%@ Register Src="~/UserControl/UcReportTextBox.ascx" TagName="UcReportTextBox" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="contentHead" runat="server"/>
<asp:Content ID="Content2" ContentPlaceHolderID="contentBody" runat="server">
<table>
<tr>
<td>
<uc1:UcReportTextBox ID="ucReporttxt" runat="server" />
</td>
</tr>
//includes so many tags
</table>
</asp:Content>
在我的网页后面的代码中
protected void Page_Load(object sender, EventArgs e)
{
InitComponent();
}
private void InitComponent()
{
XDocument document = XDocument.Load("ReportXML.xml");
var parameterTypes = document.Descendants("Type");
foreach (var parType in parameterTypes)
{
if (parType.Value == "string") //TODO Enumerate it !!
{
ucReporttxt.addTextBox();
}
}
}
在用户控件后面的代码中
public void addTextBox()
{
TextBox txtBox = new TextBox();
txtBox.ID = "txtBox";
txtBox.Width = 170;
Page.Form.Controls.Add(txtBox);
}
如您所知,我对 asp.net 较新,在 PageLoad 中,我正在读取 XMLfile 以确定是否将文本框添加到页面。代码正确添加了文本框,但文本框添加在页面末尾。我想在ucReportText
不是页面末尾的部分添加文本框如何解决?
谢谢你的帮助。