走过路过不要错过:一个狂搞怪的数据验证问题,请教!

miketz 2003-07-31 09:28:31
请看以下代码:
我想让编号输入的数据范围限制在4-7位的数字或大写字母。
在输入的时候,验证一切正常。
在查看时或编辑Datagrid中的第一条记录时,此字段设定为Readonly=true了,但提交或返回时,数据验证却报错:请输入4-7位数字或大写字母的组合,而编辑或察看其他记录却正常,我百思不得其解,请高手点解!
<td width="36%"><div align="right">编号:</div></td>

<td width="23%">
<asp:textbox ID="txtBianHao" ReadOnly="false" runat="server" TextMode="SingleLine" width="100" />
</td>

<td width="41%">
<asp:requiredfieldvalidator ControlToValidate="txtBianHao" runat="server" ErrorMessage="请输入值!" ForeColor="lightgreen" Display="Static">
</asp:requiredfieldvalidator>
<asp:RegularExpressionValidator
ControlToValidate="txtBianHao"
ValidationExpression="^[A-Z0-9]{4,7}$"
Display="Static"
ErrorMessage="请输入4-7位数字或大写字母的组合"
runat="server"/>
</td>

对了在察看和编辑时,此文本框中内容是从DATAGRID中付过来的:
txtBianHao.Text=e.Item.Cells[nColBianHaoIndex].Text;
我试了一下,如果直接付值就不会有此现象,例:
txtBianHao.Text="1000001";

且如果把验证改为ValidationExpression="^.4,7}$",好像也没有此现象了。

请教,这个问题如何解决?答即给分!
...全文
20 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
myadaidarling 2003-07-31
  • 打赏
  • 举报
回复
hanfey() 说的有道理,你先试试!
goody9807 2003-07-31
  • 打赏
  • 举报
回复
up
hanfey 2003-07-31
  • 打赏
  • 举报
回复
i guess some spaces in "e.Item.Cells[nColBianHaoIndex].Text".
so,e.Item.Cells[nColBianHaoIndex].Text.trim();
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-31 09:28
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。