我想要在一个文本框中显示一个社保号码,当它处于只读模式时,用破折号(如果需要的话,更容易阅读和记录),就像你使用MaskedEditExtender一样。
但使用MaskedEditExtender的问题是,您会将连字符(掩码)与数字一起保存。我们从来没有在SQL中以这种方式保存过SSN,所以我不想开始。
我该怎么做呢?我是否应该在页面加载代码后台(C#)时格式化它,当他们点击编辑时,删除那里的格式?
发布于 2015-06-11 18:42:44
实际上可能已经解决了我自己的问题,除非有更好的方法来处理它。因此,在我的"ShowPersonInfo“方法中,当我将文本框分配给正确的阅读器#时,我尝试这样做。当用户第一次看到页面时,TxtSSN.textbox处于只读状态(应该看到带格式的SSN)。当用户点击编辑时,我更改了函数中每个文本框的控件状态,然后再次调用我的ShowPersonInfo方法(现在应该不使用format进行编辑)。
if (TxtSSN.ReadOnly == true)
{
string ssn1 = reader[4].ToString().Substring(0, 3);
string ssn2 = reader[4].ToString().Substring(3, 2);
string ssn3 = reader[4].ToString().Substring(5, 4);
TxtSSN.Text = ssn1 + '-' + ssn2 + '-' + ssn3;
}
else
{
TxtSSN.Text = reader[4].ToString(); //unformatted
}
还有没有别的办法呢?我还有一个miscclass.formatSSN,我可以用它来代替那些子字符串。
https://stackoverflow.com/questions/30786002
复制