سؤال

لدي ASP.NET الصفحة باستخدام عنصر نائب.شبكات بناء برمجيا وأضاف أن هذا النائب عندما تكون الصفحة تشغيل.على سبيل المثال:

ASPX كود:

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

التعليمات البرمجية خلف:

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;
}

هذه الصفحة يعمل لا تشوبه شائبة في أوبرا و فايرفوكس.Internet Explorer 8 يظهر لي "لا يمكن عرض الصفحة" الشاشة.

أي أفكار ؟

هل كانت مفيدة؟

المحلول

نصائح أخرى

كنت دائما ما واجهت الكثير من المشاكل عند برمجيا إنشاء عناصر التحكم.فإنه قد عمل على الحصول على ، ولكن ليس على المنصب, لديك مشاكل في OnClick معالجات, الخ..هناك الكثير من الأطواق لديك للقفز من خلال جعل برنامجي ضوابط العمل.

أنها حقا لا يبدو لي على الإطلاق تحتاج إلى برمجيا إنشاء هذه.يمكنك بسهولة إنشاء شبكة التحكم مثل التحكم المستخدم ، ثم تمرير البيانات من خلال.إذا يمكنك تحميل عناصر تحكم المستخدم في وقت التشغيل و قطع كله بناء الشبكة dynamiclaly جزء والسماح asp.net تأخذ الرعاية من الفوضى.

هذا لا يعني أنك لا يمكن أن تفعل ذلك ، كما يفعل الناس في كل وقت.أنا فقط أقترح أن كنت وضع نفسك الكثير من العمل للقيام بذلك أنت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top