我想在文本框中显示一个社会安全号码,当它处于只读模式时带有破折号(如果需要,更容易阅读和记下),就像使用MaskedEditExtender一样。
但是使用MaskedEditExtender的问题是你会用数字保存连字符(掩码)。我们还没有在SQL中以这种方式保存我们的SSN,所以我不想开始这样做。
我该如何解决这个问题?我应该在页面加载后面的代码(C#)中进行格式化,当它们点击编辑时,是否删除那里的格式?
答案 0 :(得分:0)
实际上可能已经解决了我自己的问题,除非有更好的方法来解决这个问题。所以在我的“ShowPersonInfo”方法中,当我将文本框分配给正确的读者#时,我尝试了这个。当用户第一次看到页面时,TxtSSN.textbox处于只读状态(并且应该看到格式化的SSN)。当用户点击编辑时,我更改了函数中每个文本框的控件状态,然后再次调用我的ShowPersonInfo方法(现在应该在没有格式的情况下进行编辑)。
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,我可以使用而不是那些子串..