asp.net开发时常在代码看到的Model是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net开发时常在代码看到的Model是什么?相关的知识,希望对你有一定的参考价值。
asp.net开发的时候,好像是用到三层架构吧?还是什么的,经常看到model,想请问大神model是啥?
三层架构的model是实体对象层 包含和数据表相对应的类以及自己创建的类,用来和其他的层之间进行数据传递,并不处理逻辑和数据MVC的model是模型 用来处理业务逻辑和数据存取的 参考技术A 根据个人理解,大致如下
1)你可以当它是三层中的模型层
2)你可以认为它是数据载体(主要作用),最简单的例子:我返回一种3个string和2个int类型的结果,怎么办 那只能使用model 去给他3个string属性和2个int属性 否则你用什么来传递这些数据
3)实质上它们都是。cs文件 类文件而已 和逻辑层、数据访问层的操作类一样 都是.cs的类文件追问
那它是夹在DAL和BLL之间 还是在更底层 在DAL下面?
追答如果你这里说的Model是类库级别的话 那它就是和BLL、DAL同级别的文件夹 如果是指某个具体的实体类 那他就在Model文件夹下
本回答被提问者采纳 参考技术B 三层结构类似MVC的层次 model 模型 数据库表模型 V 视图 用户UI C控制 业务逻辑层在 asp.net mvc 中返回错误的最佳实践是啥
【中文标题】在 asp.net mvc 中返回错误的最佳实践是啥【英文标题】:what is the best practice for returning a error in asp.net mvc在 asp.net mvc 中返回错误的最佳实践是什么 【发布时间】:2015-07-05 22:29:45 【问题描述】:这是我的动作方法
var model= db.PageData.FirstOrDefault();
if (model==null)
//return Error
reutrn View(model);
返回此错误的最佳做法是什么?以一种用户友好的方式,并且在发生此错误时我可以识别它。
【问题讨论】:
我会创建一个错误页面并调用 RedirectToAction("MyError", "ErrorController")。我相信有人会给出一个非常深入的答案。 可能重复:***.com/questions/10732644/… 【参考方案1】:Throw a 500 Error:
return new HttpStatusCodeResult(500);
然后在您的 web.config 中处理 500 个错误。
http://benfoster.io/blog/aspnet-mvc-custom-error-pages
【讨论】:
【参考方案2】:我会创建一个错误视图,然后如果您预计会出现错误,请执行以下操作:
if(model == null)
ViewBag.Error = "Your x is not present, please try again later or contact xxx";
return View("Error");
在您的错误视图中,只需检查ViewBag.Error
是否存在。 (错误视图应该在共享视图中)。
请注意,我只会在您排除它发生时才这样做,然后您可以告知用户他们做错了什么。例如编辑某些内容,您可以将这个视图返回给他们,并为他们提供更多关于他们做错了什么的信息。
【讨论】:
【参考方案3】:if(model == null)
TempData["Error"] = "Your x is not present, please try again later or contact
return View();
在您的cshtml页面上,您可以检查临时数据是否包含“错误条目”,您可以显示您的用户详细信息。
@if (TempData["Error"] != null)
<div class="error">
@TempData["Error"].ToString
</div>
【讨论】:
我不会在这个例子中使用 TempData,因为 tempdata 链接到会话并且很容易被销毁。可能是小消息,但如果您需要向用户提供任何重要的信息,那么只需按 F5 即可。但我想每个人都有自己的喜好。 是的,你说得对。 TempData 的生命周期很短。我想展示将详细信息传递到同一页面的简单方法【参考方案4】:MVC 中的全局错误处理
public class MvcApplication : System.Web.HttpApplication
protected void Application_Error(object sender, EventArgs e)
Exception exception = Server.GetLastError();
Server.ClearError();
Response.Redirect("/Home/Error");
see here 用于 asp.net mvc 中的错误处理
【讨论】:
以上是关于asp.net开发时常在代码看到的Model是什么?的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net Core 6.0 使用EF Model First 连接mysql