也许您应该将其存储在自己的类中
public class Person
{
public string firstName { get; set; }
public SocialSecurityNumber SSN { get; set; }
}
public class SocialSecurityNumber
{
public string SSN { get; set; }
}
也许这个类也可以有自己的解密方法。
public class SocialSecurityNumber
{
public string SSN { get; set; }
public string Decrypt()
{
//TODO: Decrypt SSN
return decrypted ssn
}
}
现在在你的控制器中
[HttpPost]
public ActionResult PostedPerson (Person person)
{
string PersonName = person.firstName;
string SocialSecurityNumber = person.SSN.SSN;//or person.SSN.Decrypt();
//TODO: decrypt SocialSecurity number
}
如果您使用 FormCollection 进行模型绑定,则必须设置某种标志或使用抽象来标记该字段已加密
public class Person
{
public string firstName { get; set; }
public SocialSecurityNumber SSN { get; set; }
}
public class SocialSecurityNumber
{
public string SSN { get; set; }
public string Encrypted { get; set; }//set this to "EncryptedTrue" or something
//similar in order to handle it in the post
}
然后使用您的表单集合
[HttpPost]
public ActionResult PostedPerson (FormCollection fc)
{
for( var val in fc )
{
if( val is InnerList ){
{
if( val.Contains("EncryptedTrue") )
{
//then val.SSN would be an encryped social security number
}
}
}
}