SSnowJimMedlem sedan sep. 200420 inlägg Frågan#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.