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

Asp.net Core 6.0 使用EF Model First 连接mysql

Asp.Net Mvc的几个小问题

ASP.NET和ASP的区别是啥?

ASP.NET中MVC的理解

asp.net mvc项目搭建