为TextBox增加隐藏属性,Value属性

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

//代码如下

using System;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.ComponentModel;

using System.Text;

namespace DXH.Web.UI.WebControls

{

public enum TextBoxMode{

SingleLine = 0,

MultiLine = 1,

Password = 2,

Hidden = 3

}

/// <summary>

/// TextBox 的摘要说明。

/// </summary>

[ToolboxData("<{0}:TextBox runat=server></{0}:TextBox>")]

public class TextBox : System.Web.UI.WebControls.TextBox

{

[Browsable(false)]

public override System.Web.UI.WebControls.TextBoxMode TextMode

{

get

{

return base.TextMode;

}

set

{

base.TextMode = value;

}

}

[Description("自定义文本框的行为模式"),DefaultValue(0),Browsable(true),Category("Behavior")]

public TextBoxMode Mode{

get

{

object textMode = this.ViewState["TextMode"];

if (textMode != null)

{

return ((TextBoxMode) textMode);

}

return TextBoxMode.SingleLine;

}

set

{

if ((value < TextBoxMode.SingleLine) || (value > TextBoxMode.Hidden))

{

throw new ArgumentOutOfRangeException("value");

}

this.ViewState["TextMode"] = value;

if(value == TextBoxMode.Hidden)

this.TextMode = (System.Web.UI.WebControls.TextBoxMode)TextBoxMode.SingleLine;

else

this.TextMode = (System.Web.UI.WebControls.TextBoxMode)value;

}

}

[Description("对Text修正后的值"),DefaultValue(""),Browsable(true),Category("Appearance")]

public string Value{

get{return InputText(base.Text,base.MaxLength);}

}

private string InputText(string inputString, int maxLength)

{

StringBuilder retVal = new StringBuilder();

if ((inputString != null) && (inputString != String.Empty))

{

inputString = inputString.Trim();

if (0 != maxLength && inputString.Length > maxLength)

inputString = inputString.Substring(0, maxLength);

for (int i = 0; i < inputString.Length; i++)

{

switch (inputString[i])

{

case '"':

retVal.Append("&quot;");

break;

case '<':

retVal.Append("&lt;");

break;

case '>':

retVal.Append("&gt;");

break;

default:

retVal.Append(inputString[i]);

break;

}

}

retVal.Replace("'", "''");

}

return retVal.ToString();

}

protected override void AddAttributesToRender(HtmlTextWriter writer)

{

if(this.Mode == TextBoxMode.Hidden)

{

writer.AddStyleAttribute("display", "none");

writer.AddAttribute(HtmlTextWriterAttribute.Type,"hidden");

}

base.AddAttributesToRender(writer);

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航