SSnowJimMedlem sedan sep. 200420 inlägg Trådstart#1 Tja!
Jag lägger till kontroller i min Page_Load på följande vis
Kod:
private void Page_Load(object sender, System.EventArgs e)
{
try
{
if(IsPostBack)
{
}
else
{
}
dbhandler = new DBHandler(new DBHandler.errorPass(catchError),Server.MapPath("PrgramBaseDB.mdb"));
//MainMenuHandler1.MainMenus = dbhandler.getMainMenu();
//Create Page
HtmlForm MainForm = new HtmlForm();
#region MainForm Settings
MainForm.Attributes.Add("method","post");
MainForm.Attributes.Add("runat","server");
#endregion
HtmlTable MainTable = new HtmlTable();
#region MainTable Settings
MainTable.ID = "MainTable";
MainTable.Height = "768px";
MainTable.Width = "800px";
MainTable.CellPadding = 0;
MainTable.CellSpacing = 0;
MainTable.Align = "center";
MainTable.Border = 2;
#endregion
HtmlTableRow MainTableRow;
HtmlTableCell MainTableCell;
#region ROW 1 (TITLE)
MainTableRow = new HtmlTableRow();
#region 1 Row(TITLE) Settings
MainTableRow.Height = "150";
#endregion
MainTableCell = new HtmlTableCell();
#region 1 Cell(TITLE Settings
MainTableCell.ColSpan = 3;
#endregion
MainTableRow.Cells.Add(MainTableCell);
MainTable.Rows.Add(MainTableRow);
#endregion
#region ROW 2(MAINMENU,MAIN,NEWS)
MainTableRow = new HtmlTableRow();
MainTableCell = new HtmlTableCell();
#region Cell 1 Settings(MainMenu)
MainTableCell.VAlign = "top";
MainTableCell.Width = "148";
#endregion
//ADD MENU
MainMenuHandler mmHandler = new MainMenuHandler();
#region MainMenuHandler Settings
mmHandler.Attributes.Add("runat","server");
mmHandler.ID = "MainMenu";
mmHandler.MainMenus = dbhandler.getMainMenu();
#endregion
//MainTableCell = new HtmlTableCell();
//MainTableCell.Controls.Add(mmHandler);
//MainTableRow.Cells.Add(MainTableCell);
//Add Cell 2 MAIN
MainTableCell = new HtmlTableCell();
MainTableRow.Cells.Add(MainTableCell);
//Add Cell 3 NEWS
MainTableCell = new HtmlTableCell();
MainTableRow.Cells.Add(MainTableCell);
MainTable.Rows.Add(MainTableRow);
#endregion
#region ROW 3(DONT KNOW)
MainTableRow = new HtmlTableRow();
#region ROW 3 Settings
MainTableRow.Height = "50px";
#endregion
MainTableCell = new HtmlTableCell();
#region Cell Foot Settings
MainTableCell.ColSpan = 3;
#endregion
MainTableRow.Cells.Add(MainTableCell);
MainTable.Rows.Add(MainTableRow);
#endregion
MainForm.Controls.Add(MainTable);
this.Page.Controls.Add(MainForm);
}
catch(Exception ex)
{
catchError(this,"Error in " + this.ToString() + " in Page_Load : " + ex.Message);
}
}
Med andra ord lägger jag inte ut mina kontroller med drag and drop i VS.NET
HTML koden som blir av detta är följande
Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>default</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content=" [url]http://schemas.microsoft.com/intellisense/ie5[/url]" name="vs_targetSchema">
<LINK href="MainStyle.css" rel="stylesheet">
</HEAD>
<body>
<P> </P>
</body>
</HTML>
<;form name="_ctl0" method="post" action="default.aspx" id="_ctl0" runat="server">
<input type="hidden" name="__VIEWSTATE" value="dDwyMTQxMjc4NDIxOzs+GKYfw4uR3+NmiHNPyq4kFGj/WJI=" />
<table id="MainTable" height="768px" width="800px" cellpadding="0" cellspacing="0" align="center" border="2">
<tr height="150">
<td colspan="3"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr height="50px">
<td colspan="3"></td>
</tr>
</table>
</form>
Som ni ser så hamnar mina kontroller utan för /html taggen?
Lägger jag till kontroller på fel vis? eller vad gör jag för fel?
JjanrochMedlem sedan jan. 200518 inlägg Ja det gör du. 
För det första undrar jag varför du lägger till ett formulär i koden. Verkar onödig då det redan finns.
Använd det som finns istället och ändra denna rad till:
this.Page.Controls.Add(MainForm);
->
this.Page.Controls[1].Controls.Add(MainForm);
Då hamnar alla dina kontroller i formuläret istället.