1

ユーザーの応答に応じて動的テキストボックス (最大 5-10 ) を生成する必要があります。それで、パフォーマンスに関してそれを行うための最良の方法は何でしょうか、速度が関係しています。

4

3 に答える 3

0

これは非常に役立つリンクであり
、ここからリンクする理由を説明しています

  • 常に Page_PreInit() にダイナミック コントロールを追加します。
  • 動的にロードするときは常に ID を割り当てます

例えば

protected void Page_PreInit(object sender, EventArgs e) 
{ 
        Control c= LoadControl("./WebUserControl2.ascx"); 
        i=i+1; 
        c.ID= i.ToString(); 
        PlaceHolder1.Controls.Add(c); 
} 

また

protected void Page_PreInit(object sender, EventArgs e) 
{ 
         LinkButton button1 = new LinkButton(); 
         button1.ID = "button1" 
         button1.Text = "button1" 
         PlaceHolder1.Controls.Add(button1); 
}
于 2013-10-09T05:07:27.780 に答える
0
int n=5;
for (int i=0;i<n;i++)
{
TextBox MyTextBox=new TextBox();
//Assigning the textbox ID name 
MyTextBox.ID = "tb" +""+ ViewState["num"] + i;
MyTextBox.Width = 540;
MyTextBox.Height = 60;
MyTextBox.TextMode = TextBoxMode.MultiLine;
this.Controls.Add(MyTextBox);
}

MVC の場合、このリンクは役立つかもしれません... http://www.codeproject.com/Articles/434886/Dynamically-adding-controls-on-a-hierarchical-stru

于 2013-10-09T05:08:43.887 に答える
0

この方法を試してください

for (int j = 0; j < 10; j++)
            {                  

              //Create Dynamic textboxes with required field validator .

                TextBox tbChildFirstName = new TextBox();
                Label lblChildFirstName = new Label();
                lblChildFirstName.ID = "lblChildFirstName" + j;
                lblChildFirstName.Text = "Children FirstName";
                lblChildFirstName.Width = 200;
                lblChildFirstName.SkinID = "Outlabel";
                tbChildFirstName.ID = "txtChildFirstName" + j;
                tbChildFirstName.Text = "Hi hello";
                pnlChildDetail.Controls.Add(lblChildFirstName);
                pnlChildDetail.Controls.Add(tbChildFirstName);
                RequiredFieldValidator rqf = new RequiredFieldValidator();
                rqf.ID = "rqf" + i;
                pnlChildDetail.Controls.Add(rqf);
                rqf.ControlToValidate = "txtChildFirstName" + j;
                rqf.ErrorMessage = "Children FirstName is required";
                rqf.Display = ValidatorDisplay.Dynamic;
                rqf.ValidationGroup = "EligibilityCheck";
                rqf.SetFocusOnError = true;
                rqf.Text = "*";
                tbChildFirstName.Attributes.Add("runat", "server");
                pnlChildDetail.Controls.Add(GetLiteral("<br/>"));
                pnlChildDetail.Controls.Add(GetLiteral("<br/>"));

            }

public Literal GetLiteral(string text)
    {
        Literal rv = default(Literal);
        rv = new Literal();
        rv.Text = text;
        return rv;
    }

Aspx

<asp:Panel ID="pnlChildDetail" Style="text-align: left; padding-left: 10px" Width="100%"
        runat="server">
    </asp:Panel>

ダイナミック テキスト ボックス フォーム データベースのデータ カウントの作成とダイナミック テキスト ボックスの値を取得する方法の詳細については、ブログを参照してください。

于 2013-10-09T05:15:03.330 に答える