C# 在gridview中设置标签格式以隐藏社会保险号码的前5位数字
我在griview的模板字段中有一个数据绑定标签,显示社会保险号码。目前显示的SSN为123-45-6789。我需要隐藏前5个数字,这样它就会显示为####-#-#-6789。有没有人举个例子来说明我是如何做到这一点的 以下是模板的标记:C# 在gridview中设置标签格式以隐藏社会保险号码的前5位数字,c#,asp.net,C#,Asp.net,我在griview的模板字段中有一个数据绑定标签,显示社会保险号码。目前显示的SSN为123-45-6789。我需要隐藏前5个数字,这样它就会显示为####-#-#-6789。有没有人举个例子来说明我是如何做到这一点的 以下是模板的标记: <asp:TemplateField HeaderText="Social Security Number" SortExpression="SSN"> <ItemTemplate>
<asp:TemplateField HeaderText="Social Security Number" SortExpression="SSN">
<ItemTemplate>
<asp:Label ID="lblSSN" runat="server" Text='<%# Bind("SSN") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
我是编程新手,因此非常感谢您的帮助。使用此代码并替换
行[“SSN”]
下面的代码,您可以使用它来测试其功能
因此,如果值为“123-45-6789”
结果:****6789
使用此代码并替换行[“SSN”]
下面的代码可用于测试其功能
foreach (DataRow row in table.Rows)
{
var newMaskedSSN = DecryptSSN(row["EncryptedSSN"].ToString().Replace("-", string.Empty));
if (newMaskedSSN.Length > 4)
{
Console.WriteLine(
string.Concat(
"".PadLeft(9, '*'),
newMaskedSSN.Substring(newMaskedSSN.Length - 4)));
row["SSN"] = newMaskedSSN;
row.AcceptChanges();
}
}
因此,如果值为“123-45-6789”
结果:****6789
这里是一个帮助器方法
foreach (DataRow row in table.Rows)
{
var newMaskedSSN = DecryptSSN(row["EncryptedSSN"].ToString().Replace("-", string.Empty));
if (newMaskedSSN.Length > 4)
{
Console.WriteLine(
string.Concat(
"".PadLeft(9, '*'),
newMaskedSSN.Substring(newMaskedSSN.Length - 4)));
row["SSN"] = newMaskedSSN;
row.AcceptChanges();
}
}
public static string GetMaskedNumber(string number)
{
if (String.IsNullOrEmpty(number))
return string.Empty;
if (number.Length <= 5)
return number;
string last5 = number.Substring(number.Length - 5, 5);
var maskedChars = new StringBuilder();
for (int i = 0; i < number.Length - 5; i++)
{
maskedChars.Append(number[i] == '-' ? "-" : "#");
}
return maskedChars + last5;
}
public静态字符串GetMaskedNumber(字符串编号)
{
if(String.IsNullOrEmpty(number))
返回字符串。空;
如果(number.Length,这里有一个助手方法
public static string GetMaskedNumber(string number)
{
if (String.IsNullOrEmpty(number))
return string.Empty;
if (number.Length <= 5)
return number;
string last5 = number.Substring(number.Length - 5, 5);
var maskedChars = new StringBuilder();
for (int i = 0; i < number.Length - 5; i++)
{
maskedChars.Append(number[i] == '-' ? "-" : "#");
}
return maskedChars + last5;
}
public静态字符串GetMaskedNumber(字符串编号)
{
if(String.IsNullOrEmpty(number))
返回字符串。空;
如果(number.Length这个怎么样
select '###-##-'+right(ssn_coumn,4) as ssn from your_table
这个怎么样
select '###-##-'+right(ssn_coumn,4) as ssn from your_table
这很容易做到我会发布一个例子你是否在你的代码中去掉-
?如果是这样,我需要更新我的答案我也更新了我的答案,以便去掉-
破折号这很容易做到我会发布一个例子你是否在你的代码中去掉-
?如果是这样,我需要为了更新我的答案,我还更新了我的答案,允许去掉-
虚线。这不是他最想要的掩蔽,例如信用卡号码或SSN通常会做的****1234
。例如,这个示例结果正是问题所要求的。我需要隐藏前5位数字,以便显示###-##-6789
这太完美了。谢谢!做了我需要的事情,而且很容易重复使用。这不是他最想要的,例如信用卡号码或SSN通常做的事。例如,这个示例结果正是问题所要求的。我需要隐藏前5位数字,这样它就会像##-#-#-6789
这是perfect.谢谢!做了我需要它做的事情,而且它很容易重用。然后你可以用别名将它绑定到你的控件,然后你可以用别名将它绑定到你的控件