ASP.NET MVC 学习
机械键盘侠
越学习越不懂
展开
-
ASP.NET MVC从数据库读取、存入图片
一、DEMO效果先选择图片,点击上传后,即可在照片预览中看到照片。如果需要更改,重新上传就可覆盖原图片。 二、代码页面端,这里有个细节:再次上传后,如果<img>的URL不变,浏览器会从缓存中读取图片,这就会导致图片预览不会刷新,不显示刚上传的图片。解决这个问题只需要...原创 2020-11-25 12:13:16 · 2235 阅读 · 1 评论 -
使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。
一、报错截图如下所示:二、报错代码:List<BarcodeEntity> Lists = _IBarcode.GetBarcodeByWhAndType(WhId,BarcodeType);return Json(Lists,JsonRequestBehavior.AllowGet);三、修正代码:List<BarcodeEntity> Lists = _IBarcode.GetBarcodeByWhAndType(WhId,BarcodeType);v原创 2020-11-10 10:33:34 · 1295 阅读 · 0 评论 -
ASP.NET MVC 上传图片到项目目录中的文件夹并显示
因项目需求,需要一个上传图片并显示的功能,类似于上传头像并显示出来。查阅了网上资料,写了个Demo,希望能帮助到更多的人。此Demo基于ASP.NET MVC实现。选择图片:点击按钮进行上传:一、先在项目中新建一个文件夹用于存放图片 二、View页面代码@{ Layout = null;}<!DOCTYPE html><html><he...原创 2020-07-09 14:29:38 · 3038 阅读 · 1 评论 -
精通ASP.NET MVC ——模型绑定
模型绑定(Model Binding)是指,用浏览器以Http请求方式发送的数据来创建.Net对象的过程。准备示例项目新建一个空的MVC项目,名叫MvcModels,接下去会以此项目来演示各种功能。在Models文件夹中创建一个Person.cs类文件,代码如下图所示:namespace MvcModels.Models{ public class Person...原创 2019-07-18 16:30:06 · 907 阅读 · 0 评论 -
ASP.NET MVC 阻止通过URL访问服务器上的静态资源文件
背景在默认情况下,MVC框架是支持对服务器静态资源的访问的,我们在项目根目录下新建一个Content文件夹,然后添加一个命名为“StaticContent.html”的html文件,如下图所示: StaticContent.html中的代码如下图所示:<!DOCTYPE html>&...原创 2019-07-12 10:09:50 · 4424 阅读 · 0 评论 -
精通ASP.NET MVC——控制器和动作
在MVC框架中,控制器必须实现System.Web.Mvc命名空间的IController接口,如下图所示: // // 摘要: // 定义控制器所需的方法。 public interface IController { // // 摘要: // 执行指定的请求上下文。 //...原创 2019-07-12 14:23:44 · 161 阅读 · 0 评论 -
精通ASP.NET MVC ——视图
文章非常长,仅仅用于记录自己学习。创建自定义视图引擎创建自定义视图引擎的价值是,演示请求处理管道如何工作,并完善关于MVC架构如何操作的知识,视图引擎实现IViewEngine接口,如下图所示: public interface IViewEngine { ViewEngineResult FindPartialView(ControllerCon...原创 2019-07-17 09:17:01 · 369 阅读 · 0 评论 -
精通ASP.NET MVC ——控制器可扩展性
MVC中引导动作方法执行过程的请求流程管道中,有两个重要的部件:控制器工厂(Controller Factory) 和 动作调用器(Action Invoker)。控制器工厂负责创建对请求进行服务的控制器实例,动作调用器负责查找并调用控制器类中的动作方法。MVC框架中含有这两个组件的默认实现,可以配置并控制他们的行为,也可以完全替换这些组件。准备示例项目新建一个空的MVC项目名叫Con...原创 2019-07-24 11:18:02 · 303 阅读 · 0 评论 -
精通ASP.NET MVC ——模型验证
文章内容较长,用于记录自己学习。模型验证(Model Vaildation)是确保应用程序所接受的数据适合于绑定到模型,并且在不合适时给用户提供有用的信息,以帮助他们修正问题的过程。准备示例项目新建一个空的MVC项目,名叫ModelVaildation。在Model文件夹中,新建一个Appointment.cs的文件,如下图所示: public class Appoi...原创 2019-07-19 16:33:51 · 463 阅读 · 0 评论 -
精通ASP.NET MVC ——辅助器方法
辅助器方法(Helper Method),其作用是对代码块和标记进行打包,以便能够在整个MVC框架应用程序中重用。首先新建一个项目,添加一个Home控制器,如下图所示: public class HomeController : Controller { // GET: Home public ActionResult Index() ...原创 2019-07-17 15:00:25 · 347 阅读 · 0 评论 -
精通ASP.NET MVC ——URL和Ajax辅助器方法
Ajax(或者,如果你愿意,也可以称为AJAX)是 Asynchronous JavaScripts and XML(异步JavaScripts与XML)。其XML部分并不如它往常那样意义重大,但是异步部分却使AJax十分有用。这是后台请求服务器数据,而不必重载Web页面的一种模型。MVC框架包含了对渐进式Ajax内建的支持,这意味着你将使用辅助器方法来定义AJax特性,而不必在整个视图中添加代...原创 2019-07-22 18:03:03 · 533 阅读 · 0 评论 -
精通ASP.NET MVC ——属性路由
在上一篇文章中,有约定路由的介绍。MVC 5中增加了对属性路由这一新技术的支持。在属性路由中,路由是由直接运用于控制器的C#属性定义的。启动和运用属性路由默认情况下属性路由是禁止的,通过MapMvcAttributeRoutes扩展方法可以启用它。该方法由RouteCollection对象调用,如下图所示: public static void RegisterR...原创 2019-07-11 15:32:22 · 376 阅读 · 0 评论 -
精通ASP.NET MVC ——路由
本文章将关注定义路由,并使用它们去处理URL,使用户能够到达控制器和动作。文章非常长,可以对路由机制有较初步的了解。首先创建示例项目,项目名为UrlAndRoutes,如下图所示:然后是创建示例控制器和示例视图,有三个控制器,分别为Admin控制器,Home控制器,Customer控制器,一个命名为ActionName示例视图。这三个控制器都返回ActionName视图。代码如下...原创 2019-07-03 18:38:52 · 354 阅读 · 0 评论 -
在阿里云服务器Windows Server 2012r IIS 上部署.NET网站
本文转载自这篇文章,转载记录一下,万一以后要用到可以作为参考。1、添加站点首先创建连接池,如下图所示:然后添加网站,如下图所示:添加网站这里,需要注意上图中这个画框的这个位置,ip地址这里,不要填服务器的 公有ip地址 ,而是直接按照默认的写全部未分配 ,端口这里,服务器的默认端口只有 80 。注意:端口号这里有要求,不能随便填写,到这一步,http的端口号...转载 2019-06-20 16:22:53 · 985 阅读 · 0 评论 -
ASP.NET MVC 利用AreaRegistration进行Area区域模块化开发
背景资料:随着业务的需要,结构需求越来越多,View文件夹下的文件夹也越来越多,又或者需要更改结构的页面路径,另外可能是多个人合作开发,有多个WEB项目需要合并在一个网站中访问。用Areas可以解决上述问题,在项目中新建一个区域,就好像应用了另外一个项目一样,可以理解为当前项目的子项目,其本质就是一个子文件夹。就好比使用Area之前是把所有的文件夹放到一个文件夹中,使用了Area就相当于使...原创 2019-06-21 10:43:46 · 3236 阅读 · 0 评论 -
彻底理解 Cookie、Session、Token
发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮。2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记...转载 2019-06-17 09:55:04 · 101 阅读 · 0 评论 -
ASP.NET MVC 使用Log4Net记录系统运行中问题
log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。在NuGet程序包中下载log4Net组件,如下图所示:打开Web.config文件,在<configSections>中添加如下配置节点: <configSections> &...原创 2019-06-25 15:24:07 · 450 阅读 · 0 评论 -
ASP.NET MVC 使用Log4Net在不同目录中记录不同类型的日志
在上一篇文章中,实现了利用Log4Net记录系统中出现的问题。如果同时还需要记录用户操作的监控日志,就需要一些修改修改Web.Cofig配置文件 ,增加一个logger节点和appender节点,用于监控操作日志配置,并且设置不同的日志文件路径,如下图所示:<log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEB...原创 2019-06-25 17:16:50 · 694 阅读 · 0 评论 -
ASP.NET MVC 多语言开发简单案例
首先,新建一个空的MVC项目,增加一个名叫Language的文件夹用于存放资源文件,如下图所示: 在Language文件夹中,增加两个资源文件,分别用于存储中文和英文,如下图所示: ...原创 2019-06-23 16:50:22 · 659 阅读 · 1 评论 -
Win10系统局域网中的其他电脑能Ping通但是无法访问本地IIS发布的网站
局域网中的其他电脑无法访问本地IIS发布的网站,但是能ping通,基本是由于没开放端口的原因。打开防火墙 —— 高级设置:点击“入站规则”,然后是“新建规则”:然后选择“端口” :选择“TCP”,然后根据实际情况开放端口:下一步,选择允许连接 根据实际情况选择规则:取个名字,比如“IIS”,即可。...原创 2019-07-08 09:12:21 · 11776 阅读 · 0 评论 -
ASP.NET MVC 中删除无用视图引擎
默认情况下,ASP.NET MVC 同时支持 WebForm 和 Razor 引擎,而我们通常在同一个项目中只用到了一种视图引擎,如Razor,那么我们就移除没有使用的视图引擎,提高View视图的检索效率。在没有删除WebForm引擎之前,检索控制器中不存在的视图时,可以看到视图的检索顺序先是Home目录,再是Shared目录下的aspx,ascx文件。如下图所示:在Global....原创 2019-06-24 17:21:46 · 335 阅读 · 0 评论 -
隐藏ASP.NET MVC版本
默认情况下,ASP.NET MVC网站会把版本号提供给浏览器,如下图所示:只需在Global.asax中添加一句代码即可:MvcHandler.DisableMvcResponseHeader = true;如下图所示: protected void Application_Start() { MvcHa...原创 2019-06-24 20:29:13 · 475 阅读 · 0 评论 -
ASP.NET MVC 使用防伪造令牌来避免CSRF攻击
本文转自这篇文章XSRF即在访问B站点的时候,执行了A站点的功能。比如:A站点登录后,可以修改用户的邮箱(接口:/Email/Modify?email=123),修改邮箱时只验证用户有没有登录,而且登录信息是保存在cookie中。用户登录A站点后,又打开一个窗口访问B站点,如果这时B站点内嵌入了一条链接http://www.A.com/Email/Modify?email=...转载 2019-06-24 20:43:28 · 790 阅读 · 0 评论 -
如何发布.Net MVC 网站项目(攻略集锦)
转载自诗人江湖老,原文地址 参考文献 既然是攻略,就必然有参考文献,放在文章开头,以示敬意! 1.MVC项目发布步骤 2.未能从程序集加载“System.ServiceModel.Activation.HttpModule” 3. Win7 IIS 另一个程序正在使用此文件,进程无法访问 4.HTTP 错误 500.19 - Internal Server Erro...转载 2019-01-17 14:09:01 · 1005 阅读 · 0 评论