Я создал UserControl (с 2 текстовыми полями и 1 меткой) У меня этот UserControl внутри ListView. У меня есть кнопка отправки, которая когда-то запускается. Я хочу прочитать значения (2 текстовых поля и 1 метки). Для каждой строки списка. У меня есть код ниже, но он не показывает мне никаких значений, когда я пытаюсь прочитать то, что находится внутри TextBoxes. Каков правильный способ получения элементов управления сервером внутри пользовательского элемента управления?Не получать значение При попытке получить значение из TetBox внутри пользовательского элемента управления
SpecificExperienceControl.ascx
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="SpecificExperienceControl.ascx.vb" Inherits="TardyAbsenteeReport.SpecificExperienceControl" %>
<asp:HiddenField ID="hdnID" runat="server" />
<div class="SpecExp">
<tr>
<td>
<asp:TextBox ID="TextBox1" runat="server" CssClass="SpecExp-txtEmpID" ></asp:TextBox>
</td>
<td>
<asp:Label ID="Label1" runat="server" Text="Label" CssClass="SpecExp-txtLbl"></asp:Label>
</td>
<td>
<asp:TextBox ID="TextBox2" runat="server" CssClass="SpecExp-txtAcode"></asp:TextBox>
</td>
</tr>
</div>
SpecificExperience.aspx (Использовать мой UserControl на ListView То есть связанное приложение в файл XML, чтобы создать 25 строк пустой данные
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="SpecificExperience.aspx.vb" Inherits="TardyAbsenteeReport.SpecificExperience" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<table cellpadding="2" width="640px" border="1" runat="server" id="tblProducts">
<tr id="Tr1" runat="server">
<th id="Th1" runat="server">EmployeeID</th>
<th id="Th2" runat="server">Name</th>
<th id="Th3" runat="server">Absentee Code</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<hr:SpecExp ID="SpecExp1" runat="server"></hr:SpecExp>
</ItemTemplate>
</asp:ListView>
<div>
<asp:Button ID="Button1" runat="server" Text="Submit" />
</div>
</asp:Content>
SpecificExperience.aspx.vb (код для считывания данных с элементов управления сервера внутри пользовательского элемента управления
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim lview As ListViewItem
For Each lview In ListView1.Items
Dim LblEmployeeName As Label = lview.FindControl("SpecExp1$Label1")
Dim TxtEmployeeID As TextBox = lview.FindControl("SpecExp1$TextBox1")
Dim TxtAbsenteeCode As TextBox = lview.FindControl("SpecExp1$TextBox2")
Dim StrEmployeeId As String = TxtEmployeeID.Text
Dim StrLblemployee As String = LblEmployeeName.Text
Dim StrAbsentee As String = TxtAbsenteeCode.Text
Next
End Sub
Спасибо, что были правы! – CodeEngine