Napisałem pewną prostą stronę internetową opartą na dynamicznym dodawaniu kontrolek, zostawiłem to na jakiś czas i po kilku updatach VS2013 nagle pojawiły się problemy z wyświetlaniem strony. Coś co działało do tej pory ni z tego ni z owego nie mogę przywrócić do poprawnego działania.
Problem wygląda tak:Najpierw strona pojawia się prawidłowo, a po kliknięciu dowolnego przycisku, który nic nie robi i przejściu postbacka tabela na stronie łamie się na dwie części, wygląda to tak:
mój kod:
public partial class _Default : System.Web.UI.Page
{
//-------------------------------------------------------------------------MAIN TABLE
Table TblMainTop = new Table();
//TblMainTop // Contains
TableRow TblRow_Top = new TableRow(); //Logo and login
//MainTableCells in TblRow_Top
TableCell TblcT_Logo = new TableCell();
TableCell TblcT_Status = new TableCell();
Table TblMainCenter = new Table();
//TblMainCenter // Contains
TableRow TblRow_Center = new TableRow(); //Navigation and source
//MainTableCells in TblRow_Center
TableCell TblcC_Control = new TableCell();
TableCell TblcC_Source = new TableCell();
//-----------------------------------------------------------------------
PlaceHolder PHolder = new PlaceHolder();
Control LOGO;
Control STATUS;
Control CONTROL;
private void Create_MainTable()
{
LOGO = LoadControl("~/LOGO/Logo.ascx");
STATUS = LoadControl("~/STATUS/Login.ascx");
CONTROL = LoadControl("~/CONTROL/Navigation.ascx");
TblcT_Logo.Controls.Add(LOGO);
TblcT_Status.Controls.Add(STATUS);
TblcC_Control.Controls.Add(CONTROL);
TblRow_Top.Cells.Add(TblcT_Logo);
TblRow_Top.Cells.Add(TblcT_Status);
TblRow_Center.Cells.Add(TblcC_Control);
TblMainTop.Rows.Add(TblRow_Top);
TblMainTop.Rows.Add(TblRow_Center);
PHolder.Controls.Add(TblMainTop);
PHolder.ID = "Test";
UpdPanel_Main.ContentTemplateContainer.Controls.Add(PHolder);
}
protected void Page_Load(object sender, EventArgs e)
{
this.Create_MainTable();
}
}
Dodam jeszcze, że jeśli np. do TblMainTop dodał bym obramowanie, to po postback ono zniknie, ale to co było w komórkach zostanie. Zrozumiał bym jeszcze, jakby się nic nie pojawiało, ale żeby tylko część zawierająca komórki znikała, a one zostawały ?
Tak to wygląda przed postback w kodzie przeglądarki
<div id="UpdPanel_Main">
<table id="tojeID" border="0" style="border-width:5px;border-style:solid;">
//tutaj to co ma być
</table>
</div>
Tak to wygląda po postback w kodzie przeglądarki
<div id="UpdPanel_Main">
<style type="text/css"></style>
<div id="ctl03_PnlMainLogo" style="height:221px;width:1171px;"></div>
<style type="text/css"></style>
<div id="ctl04_PnlMainLoginState" style="height:221px;width:529px;"></div>
<style type="text/css"></style>
<div id="ctl05_PnlMainNavigation" style="width:301px;"></div>
</div>
Nigdy wcześniej tak się nie działo, co moge zrobić żeby tabela przestała znikać ?
Link do pobrania odchudzonej wersji projektu: http://ge.tt/6xSPKBj1/v/0