Domanda

Ho una pagina ASP.NET utilizzando un segnaposto. Le griglie sono accumulo di programmazione e ha aggiunto a questo segnaposto quando la pagina viene eseguito. Esempio:

Codice ASPX:

<asp:PlaceHolder ID="myPlaceHolder" runat="server" />

Codice dietro:

foreach (var country in Tables.Countries())
{
  var nGrid = BuildGrid(country.Code);
  if (nGrid.Rows.Count > 0)
  {
      var lTitle = new Literal();
      lTitle.Text = "<h2>Stats for country " + country.Name + "</h2>";

      myPlaceHolder.Controls.Add(lTitle);
      myPlaceHolder.Controls.Add(nGrid);
  }
  nGrid.Dispose();
}

private GridView BuildGrid(short countryCode)
{
    GridView nGrid = new GridView();
    nGrid.ID = "gr_" + countryCode;
    nGrid.SkinID = "rpSkin";
    nGrid.AutoGenerateColumns = false;
    nGrid.AllowPaging = false;
    nGrid.AllowSorting = false;
    nGrid.RowStyle.VerticalAlign = VerticalAlign.Top;
    nGrid.EnableViewState = false;

    var nField = new BoundField
                                 {
                                     HeaderText = "People",
                                     DataField = "PeopleCount"
                                 };
                nGrid.Columns.Add(nField);

    // more BoundFields of this type exist

    // This is basically the GridViewHelper class that gets Row Totals
    // Disabling this doesn't help, either
    HelpGrid(nGrid);
    nGrid.DataSource = Country.GetPeople(countryCode);
    nGrid.DataBind();
    return nGrid;
}

Questa pagina funziona perfettamente in Opera e Firefox. Internet Explorer 8 mostra me lo schermo "non può visualizzare la pagina web".

Tutte le idee?

È stato utile?

Altri suggerimenti

si sta andando sempre di imbattersi in un sacco di problemi quando programmazione creazione di controlli. Si può lavorare su Get, ma non su post, avere problemi nei gestori di OnClick, ecc .. c'è un sacco di cerchi si deve passare attraverso di fare controlli programmatici lavorano a destra.

E 'davvero non guardano a me come è assolutamente necessario creare a livello di codice questi. Si può solo creare facilmente il controllo della griglia come un controllo utente, quindi passare il tuo DataSource attraverso. Se necessario, è possibile caricare i controlli utente in fase di esecuzione, e si taglia fuori tutta la costruzione della parte di griglia dynamiclaly e lasciare asp.net prendersi cura della confusione.

Questo non vuol dire che non si può fare, come le persone fanno tutto il tempo. Sto solo suggerendo che si sta impostando te stesso per molto più lavoro da fare è il modo in cui sei.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top