khz-web1
جمعه 17 مهر 1388, 03:15 صبح
با سلام
من با استفاده از کد زیر در زمان اجرا textbox درست می کنم ....
<script runat="server" language="vb" >
Private count As Integer = 1
Private Sub IterateThroughChildren(ByVal parent As Control)
For Each c As Control In parent.Controls
If c.[GetType]().ToString().Equals("System.Web.UI.WebControls.TextBox") AndAlso c.ID Is Nothing Then
DirectCast(c, TextBox).Text = "TextBox " & count.ToString()
DirectCast(c, TextBox).Columns = 10
count += 1
End If
If c.Controls.Count > 0 Then
IterateThroughChildren(c)
End If
Next
End Sub
Private Sub CreateTextBoxes(ByVal sender As [Object], ByVal e As EventArgs)
If Not Page.IsValid Then
Exit Sub
End If
Dim n As Integer = Int32.Parse(txtTBCount.Text)
' now, create n TextBoxes, adding them to the PlaceHolder TextBoxesHere
For i As Integer = 0 To n - 1
TextBoxesHere.Controls.Add(New TextBox())
Next
' now, set the Text property of each TextBox
IterateThroughChildren(Me)
End Sub
</script>
<form id="form1" runat="server">
<asp:textbox runat="Server" id="txtTBCount" Columns="3" />
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtTBCount"
MinimumValue="1" MaximumValue="10" Type="Integer"
ErrorMessage="Make sure that you choose a value between 1 and 10!" />
<br />
<asp:button ID="Button1" runat="server" Text="Create Dynamic TextBoxes"
OnClick="CreateTextBoxes" />
<br />
<asp:PlaceHolder runat="server" id="TextBoxesHere" />
<br />
<br />
<asp:Button ID="Button2" runat="server" Text="Button" />
</form>
حلا نمیدونم Name این Textbox هارو جچوری بدست بیاورم...که بخوام به مقدار Text اون دسترسی پیدا کنم
دوستان اگر روش بهتری برای ایجاد Textbox در زمان اجرا دارند ، لطفا ارائه بدن
با تشکر
من با استفاده از کد زیر در زمان اجرا textbox درست می کنم ....
<script runat="server" language="vb" >
Private count As Integer = 1
Private Sub IterateThroughChildren(ByVal parent As Control)
For Each c As Control In parent.Controls
If c.[GetType]().ToString().Equals("System.Web.UI.WebControls.TextBox") AndAlso c.ID Is Nothing Then
DirectCast(c, TextBox).Text = "TextBox " & count.ToString()
DirectCast(c, TextBox).Columns = 10
count += 1
End If
If c.Controls.Count > 0 Then
IterateThroughChildren(c)
End If
Next
End Sub
Private Sub CreateTextBoxes(ByVal sender As [Object], ByVal e As EventArgs)
If Not Page.IsValid Then
Exit Sub
End If
Dim n As Integer = Int32.Parse(txtTBCount.Text)
' now, create n TextBoxes, adding them to the PlaceHolder TextBoxesHere
For i As Integer = 0 To n - 1
TextBoxesHere.Controls.Add(New TextBox())
Next
' now, set the Text property of each TextBox
IterateThroughChildren(Me)
End Sub
</script>
<form id="form1" runat="server">
<asp:textbox runat="Server" id="txtTBCount" Columns="3" />
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtTBCount"
MinimumValue="1" MaximumValue="10" Type="Integer"
ErrorMessage="Make sure that you choose a value between 1 and 10!" />
<br />
<asp:button ID="Button1" runat="server" Text="Create Dynamic TextBoxes"
OnClick="CreateTextBoxes" />
<br />
<asp:PlaceHolder runat="server" id="TextBoxesHere" />
<br />
<br />
<asp:Button ID="Button2" runat="server" Text="Button" />
</form>
حلا نمیدونم Name این Textbox هارو جچوری بدست بیاورم...که بخوام به مقدار Text اون دسترسی پیدا کنم
دوستان اگر روش بهتری برای ایجاد Textbox در زمان اجرا دارند ، لطفا ارائه بدن
با تشکر