导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

Repeater中Textbox的TextChanged事件没有触发?

yyj135 2009-03-23 02:16:18
开发工具:VS2003(VB.NET) ASP.NET
问题:在Repeater中加入了Textbox控件,但TextChanged事件确没有触发,请问如何处理?谢谢!
...全文
466 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yyj135 2009-03-24
谢谢杨老师。问题已经解决了。
回复
limpid_123 2009-03-23
mark
回复
周公 2009-03-23
从上面的代码中没看出给控件的AutoPostBack属性设为true的操作,默认情况AutoPostBack属性是为false的。
回复
wappibz 2009-03-23
vb看不懂的说 帮顶吧
回复
honlrlin 2009-03-23
顶12楼的
回复
yagebu1983 2009-03-23
首先,你要定义TextChanged事件
然后,获得事件源。。

例如:
TexBox txt=sender as TextBox;
Repreter re=txt.NamingContainer as Repreter;
回复
uxspy 2009-03-23
您得用委托了
textbox_change
{
//do sth
}

yourReapter_OnBind(object sender,RepeaterItemEventArgs e)
{
textbox txtbox=e.findcontrol('yourboxID');
//这个才是你要找的textbox
}
回复
lxf2000104 2009-03-23
[Quote=引用 9 楼 yyj135 的回复:]
请问您有这方面的示例吗?我的验证需要连接到数据库,谢谢!
[/Quote]
那就要用到ajax了,在绑定的时间,写个js验证函数,然后利用到ajax,把textbox的值回传到服务端,访问好数据库后在验证
回复
yyj135 2009-03-23
请问您有这方面的示例吗?我的验证需要连接到数据库,谢谢!
回复
lxf2000104 2009-03-23
你在repeater的itembound事件中注册一段脚本,在客户端用js做验证。
你这样写是调不进去的。绑定了以后,就是多个textbox服务端控件了,你在源代码中就可以看出来。
回复
yyj135 2009-03-23

<FONT class="tablecontentTitle"><img src="images/imgArrowPH.gif"> <B><U><%= enc.hash("ManagementOpinion") %></U></B></FONT>
<TABLE width="100%">
<asp:Panel ID="pnlConfirm" Runat="server" visible="false">
<TR>
<TD class="tableheader"><%= enc.hash("ComplaintValidity") %><br>
<%= enc.hash("PRDGM")%>
<FONT class="mark">* </FONT>
</TD>
<TD bgColor="whitesmoke"><cc1:smartradiobuttonlist id="rblConfirm" runat="server" cssClass="tablecontent" RepeatColumns="2"></cc1:smartradiobuttonlist>
<asp:requiredfieldvalidator id="Requiredfieldvalidator2" Runat="server" ControlToValidate="rblConfirm" Display="Dynamic"></asp:requiredfieldvalidator></TD>
</TR>
<TR vAlign="top" height="80">
<TD class="tableheader"><%= enc.hash("Opinion") %></TD>
<TD bgColor="whitesmoke"><cc1:smarttextbox id="txtConfirm" runat="server" cssClass="tablecontent" TextMode="MultiLine" Width="630px"
Height="80px"></cc1:smarttextbox></TD>
</TR>
</asp:Panel>
<TR>
<TD class="tableheader"><%= enc.hash("ComplaintValidity") %><br>
<%= enc.hash("GM")%>
<FONT class="mark">* </FONT>
</TD>
<TD bgColor="whitesmoke"><cc1:smartradiobuttonlist id="rblManagementOpinion" runat="server" cssClass="tablecontent" RepeatColumns="2"></cc1:smartradiobuttonlist><asp:requiredfieldvalidator id="Requiredfieldvalidator3" Runat="server" ControlToValidate="rblManagementOpinion"
Display="Dynamic"></asp:requiredfieldvalidator></TD>
</TR>
<TR vAlign="top" height="80">
<TD class="tableheader"><%= enc.hash("Opinion") %></TD>
<TD bgColor="whitesmoke"><cc1:smarttextbox id="txtManagementOpinion" runat="server" cssClass="tablecontent" TextMode="MultiLine"
Width="630px" Height="80px"></cc1:smarttextbox></TD>
</TR>
<TR>
<TD class="tableheader"><%= enc.hash("ComplaintValidity") %><br>
<%= enc.hash("COO1")%>
<FONT class="mark">* </FONT>
</TD>
<TD bgColor="whitesmoke"><cc1:smartradiobuttonlist id="rblCOOOpinion" runat="server" cssClass="tablecontent" RepeatColumns="2"></cc1:smartradiobuttonlist><asp:requiredfieldvalidator id="Requiredfieldvalidator4" Runat="server" ControlToValidate="rblCOOOpinion" Display="Dynamic"></asp:requiredfieldvalidator></TD>
</TR>
<TR vAlign="top" height="80">
<TD class="tableheader"><%= enc.hash("Opinion") %></TD>
<TD bgColor="whitesmoke"><cc1:smarttextbox id="txtCOOOpinion" runat="server" cssClass="tablecontent" TextMode="MultiLine" Width="630px"
Height="80px"></cc1:smarttextbox></TD>
</TR>
</TABLE>
<hr width="100%">
<font class="tablecontentTitle"><img src="images/imgArrowPH.gif"> <b><u><%= enc.hash("HandlingSuggestion") %><FONT class="mark">*
</FONT></u></b></font>
<table width="100%">
<tr vAlign="top" height="40">
<td class="tableheader"><%= enc.hash("Method") %></td>
<td colSpan="3" bgcolor ='<%= checkCompensate() %>'><cc1:smartradiobuttonlist id="rblCompenMethod" runat="server" cssClass="tablecontent" RepeatColumns="6" AutoPostBack="True"></cc1:smartradiobuttonlist></td>
</tr>
<asp:Panel ID="pnlCompen" Runat="server">
<tr vAlign="top" height="40">
<td class="tableheader"><%= currency & enc.hash("Amount") %></td>
<td bgcolor =<%= checkCompensate() %>><cc1:smarttextbox id="txtCompensateAmount" runat="server" cssClass="tablecontent" width="160px">0</cc1:smarttextbox><asp:requiredfieldvalidator id="Requiredfieldvalidator7" runat="server" ControlToValidate="txtCompensateAmount"
display="Dynamic" CssClass="tablecontent"></asp:requiredfieldvalidator><asp:rangevalidator id="RangeValidator1" runat="server" ControlToValidate="txtCompensateAmount" display="Dynamic"
CssClass="tablecontent" MinimumValue="0" MaximumValue="100000000" Type="Currency"></asp:rangevalidator></td>
<td class="tableheader"><%= enc.hash("Desc") %></td>
<td><cc1:smarttextbox id="txtCompensateDetail" runat="server" cssClass="tablecontent" TextMode="MultiLine"
Width="350px" Height="40px"></cc1:smarttextbox></td>
</tr>
</asp:Panel>
</table>
<!--2009-3-4 Mark Yao -->
<table width="100%">
<asp:Panel ID="pnlBags" Runat="server" Visible="True">
<tr>
<td class="tableheader" borderColor="black"><%= enc.hash("Bags") %></td>
<td style="WIDTH: 160px" bgColor="whitesmoke" align="left">
<cc1:smarttextbox id="txtBags" runat="server" cssClass="tablecontent" BorderWidth="1px" TextMode="SingleLine"
Width="160px">0</cc1:smarttextbox>

</td>
<td>
<asp:rangevalidator id="Rangevalidator2" runat="server" ControlToValidate="txtBags" display="Dynamic"
CssClass="tablecontent" MinimumValue="0" MaximumValue="10000" Type="Currency"></asp:rangevalidator>
</td>
<td>
</td>
</tr>
</asp:Panel>
</table>
<!--2009-3-4 Mark Yao -->
<table width="100%">
<tr vAlign="top" height="80">
<td class="tableheader"><%= enc.hash("Opinion") %></td>
<td bgColor="whitesmoke"><cc1:smarttextbox id="txtHandlingSuggestion" runat="server" cssClass="tablecontent" TextMode="MultiLine"
Width="630px" Height="80px"></cc1:smarttextbox></td>
</tr>
</table>
<hr width="100%">
<font class="tablecontentTitle"><img src="images/imgArrowPH.gif"> <b><u><%= enc.hash("CustomerFeedback") %></u></b></font>
<table width="100%">
<tr>
<td class="tableheader"><%= enc.hash("Rating") %><br>
<FONT class="mark">* </FONT>
</td>
<td bgColor="whitesmoke" class="tablecontent"><%= enc.hash("MarkingDesc")%><br>
<cc1:smartradiobuttonlist id="rblRating" runat="server" cssClass="tablecontent" RepeatColumns="10"></cc1:smartradiobuttonlist>
<asp:requiredfieldvalidator id="RequiredFieldValidator1" Runat="server" ControlToValidate="rblRating" Display="Dynamic"></asp:requiredfieldvalidator>
<br>
<asp:Label Runat="server" ID="lblStar"></asp:Label></td>
</tr>
<tr vAlign="top" height="80">
<td class="tableheader"><%= enc.hash("Remark") %></td>
<td bgColor="whitesmoke"><cc1:smarttextbox id="txtCustomerFeedback" runat="server" cssClass="tablecontent" TextMode="MultiLine"
Width="630px" Height="80px"></cc1:smarttextbox>
</td>
</tr>
</table>



现在我不知道如何触发TextBox的事件。
回复
yyj135 2009-03-23
页面文件如下:

<%@ Control Language="vb" AutoEventWireup="false" Codebehind="CauseAnalysis.ascx.vb" Inherits="LSWFCustComp.CauseAnalysis" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<%@ Register TagPrefix="cc1" Namespace="UserControlLibrary.Lamsoon" Assembly="UserControlLibrary" %>
<table>
<tr>
<td colspan="2"><font class="tablecontent"><b><u><asp:label id="lblReclass" Visible="False" Runat="server"></asp:label></b></u></font>
</td>
</tr>
<tr>
<td><cc1:smarttextbox id="txtReclass" Visible="False" runat="server" width="650px" textmode="multiline"></cc1:smarttextbox></td>
<td><asp:button id="btnReClass" Visible="False" CausesValidation="False" Runat="server"></asp:button></td>
</tr>
</table>
<br>
<font class="tablecontentTitle"><img src="images/imgArrowPH.gif"><b><u>
<%= enc.hash("Cause") %>
/<%= enc.hash("Analysis") %></u></b></font>
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%">
<TBODY>
</HeaderTemplate>
<ItemTemplate>
<TR>
<TD class="tablefullheader" style="WIDTH: 85px; HEIGHT: 21px" colSpan="4"><asp:Label ID="lblTitle" Runat="server" /><FONT face="宋体"></FONT></TD>
</TR>
<TR>
<TD class="tableheader"><%= enc.hash("ComplaintValidity") %><FONT class="mark">* </FONT>
</TD>
<TD bgColor="whitesmoke">
<cc1:smartradiobuttonlist id="rblValid" runat="server" cssClass="tablecontent" RepeatColumns="2"></cc1:smartradiobuttonlist>
<asp:RequiredFieldValidator id="RequiredValid" Runat="server" ControlToValidate="rblValid" Display="Dynamic"
Enabled="false"></asp:RequiredFieldValidator></TD>
</TR>
<!--2009-3-4 Mark Yao -->
<asp:Panel ID="pnlPRD2" Runat="server" Visible="False">
<tr>
<td class="tableheader" style="WIDTH:85px" borderColor="black"><u><%= enc.hash("ProductDate") %></u>
</td>
<td style="WIDTH: 280" bgColor="whitesmoke" align="left">
<cc1:datepicker id="dpProductDate" runat="server" cssClass="tablecontent" Width="200px" DateType="yyyy/mm/dd"
imgDirectory="images/" Clearable="True"></cc1:datepicker>
</td>
<td class="tableheader" style="WIDTH: 85px" borderColor="black"><U><%= enc.hash("ProductionShift") %></U>
</td>
<td bgColor="whitesmoke">
<cc1:SmartDropDownList id="ddlProductionShift" runat="server" cssClass="tablecontent" Width="150px"></cc1:SmartDropDownList>
</td>
</tr>

<tr>
<td class="tableheader" style="WIDTH:85px" borderColor="black"><u><%= enc.hash("ShiftSupervisor") %></u>
</td>
<td style="WIDTH: 280" bgColor="whitesmoke" align="left">
<cc1:smarttextbox id="txtShiftSupervisor" runat="server" cssClass="tablecontent" BorderWidth="1px"
TextMode="SingleLine" Width="120px" AutoPostBack="True" ></cc1:smarttextbox></td>
<td class="tableheader" style="WIDTH:85px" borderColor="black"><u><%= enc.hash("ShiftSupervisorName") %></u>
</td>
<td style="WIDTH: 280" bgColor="whitesmoke" align="left">
<asp:Label ID="lblShiftSupervisor" Runat="server" cssClass="tablecontent" Width="160px" ForeColor="#000033"></asp:Label>
</td>

</tr>

<tr>
<td class="tableheader" style="WIDTH:85px" borderColor="black"><u><%= enc.hash("ShiftQCSupervisor") %></u>
</td>
<td bgColor="whitesmoke" width="280px">
<cc1:smarttextbox id="txtShiftQCSupervisor" runat="server" cssClass="tablecontent" BorderWidth="1px"
TextMode="SingleLine" Width="120px"></cc1:smarttextbox></td>
<td class="tableheader" style="WIDTH: 85px" borderColor="black"><U><%= enc.hash("ShiftQCSupervisorName") %></U>
</td>
<td style="WIDTH: 280" bgColor="whitesmoke" align="left">
<asp:Label ID="lblShiftQCSupervisor" Runat="server" cssClass="tablecontent" Width="160px" ForeColor="#000033"></asp:Label>
</td>
</tr>

<tr>
<td class="tableheader" style="WIDTH:85px" borderColor="black"><u><%= enc.hash("CargoLoadingSupervisor") %></u></td>
<td style="WIDTH: 280" bgColor="whitesmoke" align="left">
<cc1:smarttextbox id="txtCargoLoadingSupervisor" runat="server" cssClass="tablecontent" BorderWidth="1px"
TextMode="SingleLine" Width="120px"></cc1:smarttextbox></td>
<td class="tableheader" style="WIDTH: 85px" borderColor="black"><U><%= enc.hash("CargoLoadingSupervisorName") %></U>
</td>
<td style="WIDTH: 280" bgColor="whitesmoke" align="left">
<asp:Label ID="lblCargoLoadingSupervisor" Runat="server" cssClass="tablecontent" Width="160px"
ForeColor="#000033"></asp:Label>
</td>
</tr>

</asp:Panel>
<!--2009-3-4 Mark Yao -->
<TR>
<TD class="tableheader" style="WIDTH: 85px" borderColor="black"><U><%= enc.hash("Cause") %></U></TD>
<TD style="WIDTH: 279px" bgColor="whitesmoke" colSpan="4">
<cc1:smarttextbox id="txtCause" runat="server" cssClass="tablecontent" BorderWidth="1px" TextMode="MultiLine"
Width="650px" Height="80px"></cc1:smarttextbox></TD>
</TR>
<TR vAlign="top" height="80">
<TD class="tableheader" style="WIDTH: 85px" borderColor="black"><U><%= enc.hash("OutsideAnalysis") %></U></TD>
<TD style="WIDTH: 279px" bgColor="whitesmoke">
<cc1:smarttextbox id="txtAdvice" runat="server" cssClass="tablecontent" BorderWidth="1px" TextMode="MultiLine"
Width="280px" Height="80px"></cc1:smarttextbox></TD>
<TD class="tableheader" style="WIDTH: 74px" borderColor="black"><U><%= enc.hash("Analysis") %></U></TD>
<TD bgColor="whitesmoke">
<cc1:smarttextbox id="txtCorrection" runat="server" cssClass="tablecontent" BorderWidth="1px" TextMode="MultiLine"
Width="280px" Height="80px"></cc1:smarttextbox></TD>
</TR>
</ItemTemplate>
<FooterTemplate>
</TBODY> </table>
</FooterTemplate>
</asp:Repeater>
<hr width="100%">


回复
yyj135 2009-03-23
我设置了屬性AutoPostBack設置為true还是不行。
 Private Sub txtShiftSupervisor_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtShiftSupervisor.TextChanged
Try
Dim ShiftSupervisor As String
Dim lang As String = Request.QueryString("lang")
txtShiftSupervisor = Repeater1.Items(CurrentRole).FindControl("txtShiftSupervisor")
Dim strShiftSupervisor As String

If txtShiftSupervisor.Text.Trim() <> "" Then
strShiftSupervisor = CustCompWF.GetStaff(txtShiftSupervisor.Text, lang)
lblShiftSupervisor = Repeater1.Items(CurrentRole).FindControl("lblShiftSupervisor")
If strShiftSupervisor = "" Then
txtShiftSupervisor.Text = ""
lblShiftSupervisor.Text = ""
Else
lblShiftSupervisor.Text = strShiftSupervisor
End If
End If

Catch ex As Exception

End Try
End Sub


这是的一个客户投诉的程序,因为需要处理这个投诉会涉及到很多部门,就使用了这个控件。
并且这个程序以前也不是我做的,我现在是改以前同事的程序。
回复
coodd 2009-03-23
楼主这种用法很新颖,你是怎么绑定数据的呢?
回复
pgameli 2009-03-23
CSDN社区>.NET技术>ASP.NET

VB.NET??!!!!
回复
cyz9977 2009-03-23
屬性AutoPostBack設置為true
回复
lxf2000104 2009-03-23
代码贴出部分。
如果写Textbox的服务器段控件的事件。
绑定的时候,肯定是多个Textbox,每一行其服务器事件都不同。
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告