Orchard客製化:登入時提示使用者的部分信箱

下列程式碼將Orchard的Modules/Orchard.Users/Controllers/AccountController.cs增添部分的程式碼,以確保使用者登入時,若僅輸入名稱,將會於錯誤訊息顯示使用者的信箱的第一個英文字母與註冊信箱的公司組織網域。

程式碼AccountController2011081501.zip將Orchard的Modules/Orchard.Users/Controllers/AccountController.cs增添下列的程式碼,以確保使用者登入時,若僅輸入名稱,將會於錯誤訊息顯示使用者的信箱的第一個英文字母與註冊信箱的公司組織網域。

位於Controllers資料夾的程式碼在此必須負責協調Services與View二者資料夾之間的互動,以反映人機介面的顯示內容,至於View資料夾內容則是負責顯示的實際內容。

if ((!String.IsNullOrEmpty(userNameOrEmail)) && (String.IsNullOrEmpty(password)) && (!userNameOrEmail.Contains("@")))
{
IUser usr = _membershipService.GetUser(userNameOrEmail);

string strPartialEMail = usr.Email.Substring(0, 1);

int intIndexOfAt = usr.Email.IndexOf("@");

for (int i = 1; i < intIndexOfAt; i++)
strPartialEMail = strPartialEMail + "*";

strPartialEMail = strPartialEMail + "@";

strPartialEMail = strPartialEMail + usr.Email.Substring(intIndexOfAt + 1, usr.Email.Length-intIndexOfAt-1);

ModelState.AddModelError("userNameOrEmail", T("Your e-mail is " + strPartialEMail + "."));
validate = false;
}