如何在转发器中找到文本框控件 [英] how to find textbox control in repeater
本文介绍了如何在转发器中找到文本框控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在其他转发器内部的转发器中查找文本框控件值并更新数据此转发器生成部门和其他转发器以生成具有其SALARY的员工,当我按保存订单时,它可以从文本框(SALARY)获取值并更新数据库中的数据
此代码用于生成数据和填充转发器
私有 Sub BindData()
尝试
dt = cls.rtv_All_Dep
rptCustomRepeater.DataSource = dt
rptCustomRepeater.DataBind()
Catch
结束 尝试
结束 Sub
受保护的 Sub CustomInfoRepeater_ItemDataBound(sender 作为 对象,e As System.Web.UI .WebControls.RepeaterItemEventArgs)句柄 rptCustomRepeater.ItemDataBound
如果 e.Item.ItemType = ListItemType。项目然后
尝试
Dim LabID 作为标签= TryCast (e.Item.FindControl( LabID),Label)
Dim lblManID As Label = TryCast (e.Item.FindControl( lblManID),标签)
Dim Repeater1 As Repeater = TryCast (e.Item.FindControl( Repeater1),Repeater)
Dim depID 作为 整数 = LabID.Text
dt = cls.rtv_All_Emp(depID)
Repeater1.DataSource = dt
Repeater1.DataBind()
Catch
结束 尝试
结束 如果
结束 Sub
和这个HTML代码
< asp:Repeater ID = rptCustomRepeater < span class =code-attribute> runat = server >
< HeaderTemplate >
< / HeaderTemplate >
< ItemTemplate >
< 表 id = rptCustom >
< tr class = rptHeader >
< th > DEPARTMENT_ID < / th >
< th > DEPARTMENT_NAME < / th >
< th > MANAGER_ID < / th >
< / tr >
< tr class = rptDataRows >
< td > < asp:标签 ID = LabID runat = server 文字 =' <% #DataBinder.Eval(Container.DataItem, DEPARTMENT_ID)% >' > < / asp:标签 > < / td >
< td > <% #DataBinder.Eval(Container.DataItem, DEPARTMENT_NAME)%> < / td >
< td > < span class =code-keyword>< asp:Label ID = lblManID runat = server 可见 = false 文字 =' <%#DataBinder.Eval(Container.DataItem, MANAGER_ID )%>' > < / asp:标签 > < / td >
< td > < asp:Label ID = lblManName runat = server 文字 = > < / asp:标签 > < / td >
< / tr >
< / table >
< asp:Repeater ID = Repeater1 runat = 服务器 >
< HeaderTemplate > < 表 id = rptEmp >
< tr class = rptHeader >
< th > EmpID < / th >
< th > Emp NAME < / th >
< th > SALARY < / th >
< / tr > < / Heade rTemplate >
< ItemTemplate >
< tr class = rptDataRows >
< td > < asp:标签 ID = LabID runat = server 文字 =' < ;% #DataBinder.Eval(Container.DataItem, EMPLOYEE_ID)%> ' > < / asp:标签 > < / td >
< td >
< asp:标签 ID = lblEmpFName runat = server 文字 =' <%#DataBinder.Eval(Container.DataItem, FIRST_NAME)%>' > < / asp:标签 > < asp:标签 < span class =code-attribute> ID = lbl EmpSName runat = server 文本 =' <%#DataBinder.Eval(Container.DataItem, LAST_NAME)%>' > < / asp:Label > < / td >
< td >
< asp:TextBox ID = txtSALARY runat = server 文字 =' <%#DataBinder.Eval(Container.DataItem, SALARY)%>' > < / asp:TextBox >
< / td >
< / tr >
< / ItemTemplate >
< FooterTemplate > < / table >
--- -------------------------------------------------- -------------------------------------------------- ----------
< br / >
----------------------------- -------------------------------------------------- ----------------------------------
< / FooterTemplate >
< / asp:Repeater >
< / ItemTemplate >
< FooterTemplate >
< / FooterTemplate >
< / asp:Repeater >
< asp:按钮 ID = Button1 runat = server 文字 < span class =code-keyword> = 按钮 / >
解决方案
像下面的东西。你需要遍历这些项目并找到Salary
的控件。
Dim Repeater1 As Repeater = TryCast (e.Item.FindControl( Repeater1),Repeater)
对于 每个项在 Repeater1.Items
dim txtSalary As TextBox = TryCast (item.FindControl ( txtSALARY),TextBox)
' 执行此文本框值的任何操作。
下一步跨度>
how to find text-box control value in repeater in inside other repeater and update data this repeater generate department and other repeater to generate Employees with their SALARY and when i press save batten it can take value from text-box( SALARY) and update data in DB
this code for generate the data and fill repeater
Private Sub BindData()
Try
dt = cls.rtv_All_Dep
rptCustomRepeater.DataSource = dt
rptCustomRepeater.DataBind()
Catch
End Try
End Sub
Protected Sub CustomInfoRepeater_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rptCustomRepeater.ItemDataBound
If e.Item.ItemType = ListItemType.Item Then
Try
Dim LabID As Label = TryCast(e.Item.FindControl("LabID"), Label)
Dim lblManID As Label = TryCast(e.Item.FindControl("lblManID"), Label)
Dim Repeater1 As Repeater = TryCast(e.Item.FindControl("Repeater1"), Repeater)
Dim depID As Integer = LabID.Text
dt = cls.rtv_All_Emp(depID)
Repeater1.DataSource = dt
Repeater1.DataBind()
Catch
End Try
End If
End Sub
and this html code
<asp:Repeater ID="rptCustomRepeater" runat="server">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<table id="rptCustom">
<tr class="rptHeader">
<th>DEPARTMENT_ID</th>
<th>DEPARTMENT_NAME</th>
<th>MANAGER_ID</th>
</tr>
<tr class="rptDataRows">
<td><asp:Label ID="LabID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DEPARTMENT_ID")%>'></asp:Label> </td>
<td><%#DataBinder.Eval(Container.DataItem, "DEPARTMENT_NAME")%> </td>
<td><asp:Label ID="lblManID" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"MANAGER_ID")%>'></asp:Label></td>
<td><asp:Label ID="lblManName" runat="server" Text=""></asp:Label> </td>
</tr>
</table>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate> <table id="rptEmp">
<tr class="rptHeader">
<th>EmpID</th>
<th>Emp NAME</th>
<th>SALARY</th>
</tr></HeaderTemplate>
<ItemTemplate>
<tr class="rptDataRows">
<td><asp:Label ID="LabID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "EMPLOYEE_ID")%>'></asp:Label> </td>
<td>
<asp:Label ID="lblEmpFName" runat="server" Text= '<%#DataBinder.Eval(Container.DataItem, "FIRST_NAME")%>' ></asp:Label> <asp:Label ID="lblEmpSName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "LAST_NAME")%>'></asp:Label></td>
<td>
<asp:TextBox ID="txtSALARY" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "SALARY")%>'></asp:TextBox>
</td>
</tr>
</ItemTemplate>
<FooterTemplate></table>
-----------------------------------------------------------------------------------------------------------------
<br />
-----------------------------------------------------------------------------------------------------------------
</FooterTemplate>
</asp:Repeater>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
<asp:Button ID="Button1" runat="server" Text="Button" />
解决方案
Something like below. You need to loop through the items and find the control forSalary
.
Dim Repeater1 As Repeater = TryCast(e.Item.FindControl("Repeater1"), Repeater) For Each item In Repeater1.Items dim txtSalary As TextBox = TryCast(item.FindControl("txtSALARY"), TextBox) ' Do whatever you want to do with this textbox value. Next
这篇关于如何在转发器中找到文本框控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文