酷徒LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:TEX  characters  文本  字符  CHAR  

介绍

在考虑工作时,我意识到给用户提供最大长度的文本区域控件的数量是有用的。 最初,我创建了可以执行任务的inline 代码,但是稍微调整一下,我发现代码更适合用户控件。 控件的代码非常简单:

<scriptrunat="server">protectedvoid Page_Load(object sender, EventArgs e)
{
 txtCount.Text = txtInput.MaxLength.ToString();
 txtInput.Attributes.Add("onKeyUp", 
 "javascript:document.getElementById('"+ txtCount.ClientID + 
 "').setAttribute('value', (" + txtInput.MaxLength + 
 " - parseInt(document.getElementById('" + txtInput.ClientID + 
 "').getAttribute('value').length)));");
}publicint MaxLength
{
 get { return txtInput.MaxLength; }
 set { txtInput.MaxLength = value; }
}</script><table><tr><td><asp:LabelID="Label1"runat="server">Characters Left: </asp:Label><asp:TextBoxID="txtCount"runat="server"BorderStyle="None"ReadOnly="True">0</asp:TextBox></td></tr><tr><td><asp:TextBoxID=txtInput runat="server"BorderColor="Gray"BorderStyle="Solid"BorderWidth="1px"Height="125px"MaxLength="2000"TextMode="MultiLine"Width="350px"></asp:TextBox></td></tr></table>

大部分工作都是在 Page_Load 事件中完成的。 使用 Attributes Collection,我添加了一个获取输入文本长度的OnKeyUp 事件,从输入文本框控件中减去它。 因为JavaScript可以处理控件的ID,并且 ASP.NET 动态为生成的每个控件分配惟一的ID,因此你可以在页面上拥有几十个这些控件,并且每个控件只能跟踪它的自身。

我建议通过用户控件( 如 MaxLength,上)的public 属性公开基础控件的某些属性,以便不同的页/站点配置。

提醒

因为 TextArea HTML控件不支持 MaxLength,所以JavaScript不会阻止用户输入更多字符。 但是,可以针对验证目的检查 MaxLength 属性,或者在处理表单时截断多余的文本。



文章标签:文本  TEX  CHAR  字符  characters  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷