• 21-08-2013, 15:01:28
    #1
    Merhabalar,
    Uğraştığım proje için bir butona aşağıdaki kodları ekledim istediğim şey kullanıcının girdiği değer kadar textbox ve dropdownlist oluşturmak ama postback olayı yüzünden sayfa yenilendiğinde kontroller oluşmuyor. bunu nasıl halledebilirim
                int sayi = int.Parse(txtHatSayisi.Text);
                for (int i = 1; i <= sayi; i++)
                {
                    TextBox txtHat = new TextBox();
                    txtHat.ID = "txtHat" + i.ToString();
                    txtHat.MaxLength = 10;
                    txtHat.CssClass = "text";
                    pnlHatlar.Controls.Add(txtHat);
                    Literal ltr = new Literal();
                    ltr.Text = " ";
                    pnlHatlar.Controls.Add(ltr);
                    DropDownList ddlPaket = new DropDownList();
                    ddlPaket.ID = "ddlPaket" + i.ToString();
                    pnlHatlar.Controls.Add(ddlPaket);
                    Literal ltrbosluk = new Literal();
                    ltr.Text = "<br/>";
                    pnlHatlar.Controls.Add(ltr);
  • 21-08-2013, 23:11:41
    #2
    .aspx dosyanın en üstüne

    EnableViewState="false" kodunu ekle düzelir.
  • 23-08-2013, 00:20:59
    #3
    dediğizi yaptım kodları ayrıca şu hale getirdim yine de olmadı
    protected void Page_Load(object sender, EventArgs e)
    {
    if(txtHatSayisi.Text=="" && !Page.IsPostBack)
    {
    }
    else
    {
    olustur();
    }
    }
    void olustur()
    {
    Session["HatSayisi"] = txtHatSayisi.Text;
    int sayi = int.Parse(Session["HatSayisi"].ToString());
    for (int i = 1; i <= sayi; i++)
    {
    TextBox txtHat = new TextBox();
    txtHat.ID = "txtHat" + i.ToString();
    txtHat.MaxLength = 10;
    txtHat.CssClass = "text";
    pnlHatlar.Controls.Add(txtHat);
    Literal ltr = new Literal();
    ltr.Text = " ";
    pnlHatlar.Controls.Add(ltr);
    DropDownList ddlPaket = new DropDownList();
    ddlPaket.ID = "ddlPaket" + i.ToString();
    pnlHatlar.Controls.Add(ddlPaket);
    Literal ltrbosluk = new Literal();
    ltr.Text = "<br/>";
    pnlHatlar.Controls.Add(ltr);
    }
    }
    protected void btnHat_Click(object sender, EventArgs e)
    {
    olustur();
    }
  • 23-08-2013, 02:41:51
    #4
    Olmama şansı yok mutlaka yanlış bir işlem yapıyorsun. Genel tanımlama yapalım o zaman.

    Web.Config dosyanda system.web içerisine şu kodu eklemeni istiyorum.

    <pages validateRequest="false" clientIDMode="Static" enableViewState="false" enableEventValidation="false" enableViewStateMac="false" viewStateEncryptionMode="Never"/>
    Birde böyle dene sonucu yaz.
  • 24-08-2013, 23:56:17
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sen postback ise oluşturuyorsun. Click event'ı her zaman postback yapar.
    if(!isPostBack)
    { olustur(); }