Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在gridview中设置标签格式以隐藏社会保险号码的前5位数字_C#_Asp.net - Fatal编程技术网

C# 在gridview中设置标签格式以隐藏社会保险号码的前5位数字

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>

我在griview的模板字段中有一个数据绑定标签,显示社会保险号码。目前显示的SSN为123-45-6789。我需要隐藏前5个数字,这样它就会显示为####-#-#-6789。有没有人举个例子来说明我是如何做到这一点的

以下是模板的标记:

    <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.谢谢!做了我需要它做的事情,而且它很容易重用。然后你可以用别名将它绑定到你的控件,然后你可以用别名将它绑定到你的控件