如何将消息从我的存储库类返回到我的控制器,然后返回到我在 asp.net-mvc 中的视图?

Posted

技术标签:

【中文标题】如何将消息从我的存储库类返回到我的控制器,然后返回到我在 asp.net-mvc 中的视图?【英文标题】:How to return a message from my repository class to my controller and then to my view in asp.net-mvc? 【发布时间】:2010-05-17 06:01:34 【问题描述】:

我用它来检查表中现有的 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”的建议...

【问题讨论】:

【参考方案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>
<%  %>

【讨论】:

以上是关于如何将消息从我的存储库类返回到我的控制器,然后返回到我在 asp.net-mvc 中的视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的项目访问我的MongoDB实例到我的xunit测试项目类?

如何从我的属性中获取两个值以返回到我的main方法?

将收到的 Facebook 消息(聊天 + 消息)转发到我的电子邮件收件箱,然后从我的 Facebook 收件箱中删除它们

我应该如何从我的数据库中获取所有消息并返回它

当消息中有法语口音时,我的邮件功能返回成功并且未收到邮件[重复]

如何关闭从我的应用启动的外部应用(如 Instagram)并返回触发应用?