Tôi đang phát triển một ứng dụng Danh sách Đám cưới đơn giản, nơi khách có thể đặt trước món quà họ muốn mua cho cô dâu và chú rể. Trang Dự trữ bao bọc một vài trường bên trong một vài bảng, tất cả được bao bên trong một FormView.Sử dụng FindControl: Truy cập Điều khiển trong Formview
Người dùng nhập tên, email và số lượng mặt hàng họ muốn đặt trước và trang sẽ thực hiện các đặt chỗ cần thiết trong DB.
Vấn đề đầu tiên của tôi là trong FormView_ItemCommand, tôi không thể tham chiếu bất kỳ điều khiển nào khác trong FormView .... Tôi đã nhận ra đây là trường hợp cho FindControl - nhưng tại sao tôi cần cho Formview khi tôi ' đã không bao giờ cần nó cho ListViews hoặc DetailViews?
Thứ hai, tôi biết đoạn mã sau công trình ..
Dim oCtrl as TextBox = Me.fvwReservation.FindControl("txtEmail")
Dim Test As String = oCtrl.Text
... nhưng tại sao tôi không thể sử dụng ...
Dim Test As String = Me.fvwReservation.FindControl("txtEmail").Text
??
Cuối cùng, tôi không nghĩ rằng tôi cần nó vào dịp này, nhưng tôi đã nghiên cứu các biến thể FindControl đệ quy, nhưng tôi đã không thực sự tìm thấy một trong đó thực sự biên dịch! Bất kỳ đề xuất?
Rất nhiều cho một bài đăng - cảm ơn trước.
Cho không Đoạn Mã:
<asp:FormView ID="fvwReservation" runat="Server" DataSourceID="dsGift">
<ItemTemplate>
<asp:Panel runat="server" ID="pnlDetails">
<h3>Reserve Item: <%#Eval("ShortDesc")%></h3>
<p>You have chosen to reserve the <em><%#Eval("LongDesc")%></em> gift.</p>
<p>Please enter your details below to confirm the reservation.</p>
</asp:Panel>
<asp:Panel runat="server" ID="pnlConfirm">
<div class="row">
<asp:Label runat="server" CssClass="label">Name:</asp:Label><asp:TextBox ID="txtName" MaxLength="50" runat="server" CssClass="Field" />
<asp:RequiredFieldValidator ID="rfvName" runat="server" ErrorMessage="You must specify your Name" ControlToValidate="txtName" />
</div>
<div class="row">
<asp:Label runat="server" CssClass="label">Email:</asp:Label><asp:TextBox ID="txtEmail" MaxLength="100" runat="server" CssClass="Field"/>
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage="You must specify your Email Address" ControlToValidate="txtEmail" />
<asp:RegularExpressionValidator ID="regexEmail" ValidationExpression="^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9][email protected]((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$" runat="server" ErrorMessage="Please enter a valid Email Address" ControlToValidate="txtEmail" />
</div>
<div class="row">
<asp:Label runat="server" CssClass="label">Quantity (max <%#Eval("QtyRemaining")%>):</asp:Label><asp:TextBox ID="iQty" MaxLength="2" runat="server" CssClass="Field" />
<asp:RangeValidator ID="rvQty" runat="server" ErrorMessage="The Quantity mmust be between 1 and 10" MinimumValue="1" MaximumValue="10" ControlToValidate="iQty" />
</div>
<div class="row">
<asp:Label runat="server" CssClass="label"> </asp:Label>
<asp:Button ID="btnReserve" Text="Confirm Reservation" CommandName="Reserve" runat="server" />
</div>
</asp:Panel>
</ItemTemplate>
</asp:FormView>
Bạn thấy sao ?! Tôi biết tôi đã thiếu một cái gì đó .... thực sự, tôi chắc chắn rằng tôi đã nhìn thấy điều đó trước đây, nhưng không nhận ra ý nghĩa ... Có một ngôi sao vàng! (cũng 1 đại diện có thể phải đủ). – CJM