我想创建一个用户控件[textbox],它转换大写的所有文本。 在普通网页中,我可以通过
完成<asp:TextBox ID="TextBox1" runat="server">
</asp:TextBox>
<style type="text/css">
#TextBox1
{
text-transform: uppercase;
}
</style>
我不知道如何在用户控件中转换它们,如何在构建中创建自己的文本框控件。这样我就可以从工具箱中拖放它们并使用它。
任何帮助?
修改
就像,我想再给文本框一个属性[比方说:大写=“真”或大写=“假”]这将决定文本框字符是否为大写。
修改1
修改2
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
namespace UppercaseBox
{
public class UppercaseTextBox : System.Web.UI.WebControls.TextBox
{
public extern Boolean Uppercase
{ get;
set;
}
public override string Text
{
get
{
return Uppercase && !string.IsNullOrEmpty(base.Text) ? base.Text.ToUpper() : base.Text;
}
set
{
base.Text = Uppercase && !string.IsNullOrEmpty(value) ? value.ToUpper() : value; ;
}
}
}
}
答案 0 :(得分:2)
我看到的更简单的方法是,您可以创建一个继承自TextBox的自定义控件,并覆盖Text属性,以便将文本更改为大写。
Public Class UppertextBox
Inherits Web.UI.WebControls.TextBox
Public Overrides Property Text As String
Get
Return MyBase.Text.ToUpper
End Get
Set(ByVal value As String)
MyBase.Text = value.ToUpper ' no check for null, add it if necessary
End Set
End Property
End Class
大写可能取决于您的控件的属性,以允许您使用它自定义页面中的文本框。
Public Class UppertextBox
Inherits Web.UI.WebControls.TextBox
Public Property Uppercase As Boolean
Public Overrides Property Text As String
Get
If Uppercase AndAlso Not String.IsNullOrEmpty(MyBase.Text) Then
Return MyBase.Text.ToUpper
Else
Return MyBase.Text
End If
End Get
Set(ByVal value As String)
If Uppercase AndAlso Not String.IsNullOrEmpty(value) Then
MyBase.Text = value.ToUpper
Else
MyBase.Text = value
End If
End Set
End Property
End Class
您继承的控件也可以将其样式设置为大写,但如果您不想在每次使用时设置样式,我建议使用主题
修改强>
C#版本看起来像
public class UppercaseTextBox : System.Web.UI.WebControls.TextBox
{
public Boolean Uppercase { get; set; }
public override string Text
{
get
{
return Uppercase && !string.IsNullOrEmpty(base.Text) ? base.Text.ToUpper() : base.Text;
}
set
{
base.Text = Uppercase && !string.IsNullOrEmpty(value) ? value.ToUpper() : value;
}
}
}
答案 1 :(得分:2)
首先,您可以使用web user control
只包含一个名为TextBox
的{{1}}和Boolean
属性
代码
UpperCase
<强>的.aspx 强>
public Boolean UpperCase
{
get;
set;
}
在您的页面中添加此控件
<%if(UpperCase) {%>
<style type="text/css">
#TextBox1
{
text-transform: uppercase;
}
</style>
<%} %>
<强>通知强>
我使用<uc1:TextControl ID="TextControl1" runat="server" UpperCase="false"/>
来保持ClientIDMode="static"
ID
的原样,如果您使用TextBox
,那将会有效,您将不得不使用ASP.Net 4.0
的{{1}}属性应用类似
ClientID
答案 2 :(得分:0)
使用样式表..
输入[类型=文本] {
text-transform:大写; }
在所有文本框中轻松实现效果