我正在尝试获取转发器内所有文本框的值,但我不能。
目前代码是这样的:
aspx
<asp:UpdatePanel ID="UpdatePanel5" runat="server" UpdateMode="Conditional" EnableViewState="true" RenderMode="Inline" ChildrenAsTriggers="False">
<ContentTemplate>
<asp:Repeater ID="rptPagsTipoPapel" runat="server">
<ItemTemplate>
<ul class="clrfix">
<li>
<asp:HiddenField ID="hdIdTipoPapelPubEd" runat="server" Value='<%# Eval("IdTipoPapel") %>' />
<asp:Label ID="lblTipoPapelPubEd" AssociatedControlID="txtNrPaginasCor" runat="server" Text='<%# Eval("TipoPapel") %>'></asp:Label>
</li>
</ul>
<ul class="clrfix">
<li>
<asp:Label ID="Label27" runat="server" Text="Páginas em Cores" AssociatedControlID="txtNrPaginasCor"></asp:Label>
<span class="legenda">(unidades)</span><br />
<asp:TextBox ID="txtNrPaginasCor" runat="server" Width="145" MaxLength="6" AutoPostBack="True"
ValidationGroup="vgpCadastroEdicao" OnTextChanged="txtNrPaginasCor_TextChanged" onkeypress="return(ApenasNumero(this,event));"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvNrPaginasCor" runat="server" ControlToValidate="txtNrPaginasCor"
ErrorMessage="Páginas em Cores é um campo obrigatório." Display="None" ValidationGroup="valCadastroEdicao">*</asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvlNrPaginasCor" runat="server" ErrorMessage="O campo Páginas em Cores é inválido, favor corrigí-lo."
ControlToValidate="txtNrPaginasCor" Operator="DataTypeCheck" Type="Integer" Display="None"
ValidationGroup="valCadastroEdicao">*</asp:CompareValidator>
<asp:CompareValidator ID="cvlGrupoNrPaginasCor" runat="server" ErrorMessage="O campo Páginas em Cores é inválido, favor corrigí-lo."
ControlToValidate="txtNrPaginasCor" Operator="DataTypeCheck" Type="Integer" Display="None"
ValidationGroup="vgpCadastroEdicao">*</asp:CompareValidator>
</li>
<li>
<asp:Label ID="Label28" runat="server" Text="Páginas em P/B" AssociatedControlID="txtNrPaginasPb"></asp:Label>
<span class="legenda">(unidades)</span><br />
<asp:TextBox ID="txtNrPaginasPb" runat="server" Width="145" MaxLength="6" AutoPostBack="True"
ValidationGroup="vgpCadastroEdicao" OnTextChanged="txtNrPaginasPb_TextChanged" onkeypress="return(ApenasNumero(this,event));"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvNrPaginasPb" runat="server" ControlToValidate="txtNrPaginasPb"
ErrorMessage="Páginas em P/B é um campo obrigatório." Display="None" ValidationGroup="valCadastroEdicao">*</asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvlNrPaginasPb" runat="server" ErrorMessage="O campo Páginas em P/B é inválido, favor corrigí-lo."
ControlToValidate="txtNrPaginasPb" Operator="DataTypeCheck" Type="Integer" Display="None"
ValidationGroup="valCadastroEdicao">*</asp:CompareValidator>
<asp:CompareValidator ID="cvlGrupoNrPaginasPb" runat="server" ErrorMessage="O campo Páginas em P/B é inválido, favor corrigí-lo."
ControlToValidate="txtNrPaginasPb" Operator="DataTypeCheck" Type="Integer" Display="None"
ValidationGroup="vgpCadastroEdicao">*</asp:CompareValidator>
</li>
</ul>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
与代码隐藏文本更改事件相关的摘录,我需要触发此事件来计算要显示给用户的值,如此动态。
Protected Sub txtNrPaginasCor_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
MostrarCustoProducaoPublicacao()
End Sub
Protected Sub txtNrPaginasPb_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
MostrarCustoProducaoPublicacao()
End Sub
我想从文本框中获取值的一段代码:
Protected Sub MostrarCustoProducaoPublicacao()
Dim lIntTiragem As Integer = Nothing
Dim lIntNrPaginasPbJornal As Integer = Nothing
Dim lIntNrPaginasCorJornal As Integer = Nothing
Dim lIntNrPaginasPbOffset As Integer = Nothing
Dim lIntNrPaginasCorOffset As Integer = Nothing
Dim IdPublicacao As Integer = SQL.RetiraSQLInjection(hdIdPublicacao.Value)
For Each itemTipoPapel As RepeaterItem In rptPagsTipoPapel.Items
Dim hdTipoPapel As HiddenField = CType(itemTipoPapel.FindControl("hdIdTipoPapelPubEd"), HiddenField)
Dim txtNrPagPB As TextBox = CType(itemTipoPapel.FindControl("txtNrPaginasPb"), TextBox)
Dim txtNrPagCor As TextBox = CType(itemTipoPapel.FindControl("txtNrPaginasCor"), TextBox)
If hdTipoPapel.Value = 1 Or hdTipoPapel.Value = 2 Then
If Not txtNrPagPB.Text.Equals("") Then
lIntNrPaginasPbJornal += SQL.RetiraSQLInjection(txtNrPagPB.Text)
End If
If Not txtNrPagCor.Text.Equals("") Then
lIntNrPaginasCorJornal += SQL.RetiraSQLInjection(txtNrPagCor.Text)
End If
ElseIf hdTipoPapel.Value = 3 Or hdTipoPapel.Value = 4 Then
If Not txtNrPagPB.Text.Equals("") Then
lIntNrPaginasPbOffset += SQL.RetiraSQLInjection(txtNrPagPB.Text)
End If
If Not txtNrPagCor.Text.Equals("") Then
lIntNrPaginasCorOffset += SQL.RetiraSQLInjection(txtNrPagCor.Text)
End If
End If
Next
End Sub