1

我用它来检查表中现有的 emailId 并将其插入...当用户尝试使用现有的 mailId 注册时,如何向用户显示消息效果很好...。

if (!taxidb.Registrations.Where(u => u.EmailId == reg.EmailId).Any())
{
     taxidb.Registrations.InsertOnSubmit(reg);
     taxidb.SubmitChanges();
}

我的控制器有这个,

 RegistrationBO reg = new RegistrationBO();
 reg.UserName = collection["UserName"];
 reg.OrgName = collection["OrgName"];
 reg.Address = collection["Address"];
 reg.EmailId = collection["EmailId"];
 reg.Password = collection["Password"];
 reg.CreatedDate = System.DateTime.Now;
 reg.IsDeleted = Convert.ToByte(0);
 regrep.registerUser(reg);

任何如何使用 asp.net mvc 向用户显示“EmailID”的建议已经存在...

4

1 回答 1

1

使registerUser存储库方法返回一个布尔值,指示它是否已更新数据库,以便控制器操作变为:

if (!regrep.registerUser(reg))
{
    ViewData["message"] = string.Format("{0} already exists", reg.EmailId);
}

并在您的视图中显示消息:

<div><%= Html.Encode(ViewData["message"]) %></div>

如果您使用的是推荐的强类型视图,那么您可以向视图模型添加一个布尔属性,该属性将指示数据库更新是否发生:

model.EmailId = reg.EmailId;
model.IsEmailExists = !regrep.registerUser(reg);
return View(model);

并在视图中测试模型值:

<% if (Model.IsEmailExists) { %>
    <div><%= Html.Encode(Model.EmailId) %> already exists</div>
<% } %>
于 2010-05-17T06:29:42.827 回答