我的第一个ASP-Project有点问题。 Im提供用户和输入掩码来输入数据。在某些点上,我想控制输入是否为数字。如果没有,我想改变我的文本框的边框颜色。 这是我的文本框:以编程方式更改文本框的CssClass
<asp:TextBox ID="tbOnlyNumeric" runat="server" Height="30px" CssClass="MyNumericBox" autocomplete="off"></asp:TextBox>
框的样式看起来像这样:
.MyNumericBox
{
width:250px;
overflow: auto;
font-size: 20px;
position:relative;
right:111px;
border-color: #dcdcdc;
padding: 4px;
margin:15px;
border-width: 2px;
border-radius: 10px;
border-style: solid;
transition: box-shadow 0.3s, border 0.3s;
text-align: right;
padding-right: 18px;
outline: none;
}
我的想法是投文本框的文本在的try-catch-statment:
try
{
if (string.IsNullOrWhiteSpace(tbOnlyNumeric.Text))
{
throw new Exception();
}
else
{
salesExpected = Convert.ToInt32(tbOnlyNumeric.Text.ToString().Replace(".", string.Empty));
}
}
catch (Exception ex)
{
debugLabel.Text = "EX";
correct = false;
tbOnlyNumeric.CssClass = tbSalesExpected.CssClass.Replace("MyExpectedBox", "MyExpectedBoxWrong");
}
所以,如果有什么问题我的文本框应该看起来像:
而是它看起来像这样:
我已经注意到,如果在镀铬观看老CSS类被删除,但新一不addet。
任何想法为什么?
在此先感谢
你不需要使用“CssClass.Replace”,你可以使用CssClass(“MyExpectedBoxWrong”)它会覆盖那里的类。也就是说,你真的想做这个客户端(更接近弗朗西斯索尔的答案)。 –
@StephenBrickner哦,是的就是这样。使用CssClass而不是替换工作正常 –