[英]Hide a property in c# code
我有一個業務類說User.cs:
[Serializable]
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public int Password { get; set; }
}
在服務器端代碼中,我正在編寫以下代碼以JSON格式序列化用戶對象:
User user=SomeUserBLClass.GetUser(1);
Response.Write(new JavaScriptSerializer().Serialize(user));
我的要求是隱藏發送到客戶端的密碼,即我不希望密碼字段包含在json數據中。 你能幫我解決這個問題嗎?
您可以將[ScriptIgnore]
屬性添加到Password
。
[Serializable]
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
[ScriptIgnore]
public int Password {get; set;}
}
如何使用匿名類型和省略密碼?
Response.Write(new JavaScriptSerializer().Serialize(new {UserId = user.UserId, UserName = user.UserName});
完全從用戶對象中排除“密碼”字段,並且僅允許通過ValidateUser或ChangePassword之類的方法在SomeUserBLClass中內部使用后端版本。
您實際上並不希望以任何形式將任何版本的密碼公開給頂層-顯示層始終有機會以某種形式擺動並向客戶端轉儲數據。
從等式中刪除它,只允許對其進行過渡訪問,這不再是一個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.