使用MaskedEditExtender进行SSN但不保存掩码。 ASP.NET

时间:2015-06-11 16:08:50

标签: c# asp.net

我想在文本框中显示一个社会安全号码,当它处于只读模式时带有破折号(如果需要,更容易阅读和记下),就像使用MaskedEditExtender一样。

但是使用MaskedEditExtender的问题是你会用数字保存连字符(掩码)。我们还没有在SQL中以这种方式保存我们的SSN,所以我不想开始这样做。

我该如何解决这个问题?我应该在页面加载后面的代码(C#)中进行格式化,当它们点击编辑时,是否删除那里的格式?

1 个答案:

答案 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,我可以使用而不是那些子串..