ASP.NET MVC3控制器传递匿名对象到视图实例

ASP.NETMVC3+EntityFramework项目中,从控制器传递匿名对象到视图非常常见,原本以为用dynamic能轻松搞定,最后发现我错了:Controller: 代码如下复制代码publicActionResultIndex(){   testContextcontext=newtestContext();   dynamicdata=context.People       .Join(context.Pets,person=>person.Id,Pet=>Pet.Pid,(person,pet)=>new{Person=person.Name,Pet=pet.Name});   returnView(data);}View:@modeldynamic@foreach(variteminModel){   @(item.Person)<text>...

.net mvc session失效问题

最近解决基于.netmvc项目的session失效问题,这个跟大家聊聊。1.问题分析.netmvc中,Session失效需要考虑几种情况:基于权限认证的Action,使用非Ajax请求;基于权限认证的Action,使用JQuerytAjax请求;基于权限认证的Action,使用.netmvc封装的Ajax请求;无权限认证的Action,使用非Aajx请求;无权限认证的Action,使用原生JQueryAjax请求;无权限认证的Action,使用.netmvc封装的Ajax请求;基于权限认证的Action,session失效后AuthorizeAttribute都可以拦截,并在HandleUnauthorizedRequest方法中处理;无权限认证的Action需要在自定义的filter中,根据新建Session与已请求Session的区别进行判断和处理。2.基于权限认证的非Ajax请求Authorizefilter优先于其他功能过滤器执行,因此这里继承AuthorizeAttribue,在HandleUnauthorizedRequest中处理session请求。publicclass...

Asp.net mvc怎么在razor里写js代码

我试图在Razor里写JS代码,但是不行12345678910111213141516171819202122232425262728293031<script type="text/javascript">  //somejavascrptcodeheretodisplaymapetc    //nowaddmarkers @foreach(variteminModel){        varmarkerlatLng=newgoogle.maps.LatLng(@(Model.Latitude),@(Model.Longitude));      vartitle='@(Model.Title)';      vardescription='@(Model.Description)'; ...

权限管理学习 一、ASP.NET Forms身份认证

说明:本文示例使用的VS2017和MVC5。系统无论大小、牛逼或屌丝,一般都离不开注册、登录。那么接下来我们就来分析下用户身份认证。以前在学习.net的时候不知道什么Forms身份认证,直接用session实现登录,效果也蛮好嘛。而且用户信息存在服务端,安全。前端代码:@if(string.IsNullOrWhiteSpace(ViewBag.UserName)){<formaction="/home/login1"><inputtype="text"name="userName"/><inputtype="submit"value="登录"/></form>}else{<formaction="/home/logout1"><div>当前用户已登录,登录名:@ViewBag.UserName</div><inputtype="submit"value="退出"/></form>}后台代码:publicActionResultIndex(){ViewBag.UserName=Se...

ASP.NET MVC下Ajax.BeginForm方式无刷新提交表单

有时候,不得不考虑到以下场景问题:数据库表字段会频繁更改扩展,而流行的重业务的js框架过于依赖json数据接口,导致的问题是,数据库表更改->数据接口更改->前段框架逻辑更改。。。一不小心就陷入坑坑洼洼。这样的话,原来纯ASP.NETMVC绑定的方式,还是可以一用的,因为该方式不用再为那么多js代码烦恼。不好意思,前面自说自话啊,直接上干货代码了————Ajax.BeginForm@{Layout=null;varajaxOptions=newAjaxOptions{UpdateTargetId="updateHolder",OnBegin="DeliverableEdit.onBegin",OnFailure="DeliverableEdit.onFailure",OnSuccess="DeliverableEdit.onSuccess",OnComplete="DeliverableEdit.onComplete",HttpMethod="Post"};}@using(Ajax.BeginForm("Save","Desi...

Ajax在ASP.NET MVC中上传

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Mvc;namespaceajaxUpload.Controllers{publicclassHomeController:Controller{[HttpPost]publicJsonResultUpload(){varuploadedFile=Request.Files[0]asHttpPostedFileBase;returnJson(uploadedFile.FileName);}publicActionResultIndex(){returnView();}}}<divclass="jumbotron"><h1>Ajax在ASP.NETMVC中上传</h1></div><divclass="row"><divid="main"><h1>上传您的图片</h1><formid="uploadfrm...

ASP.NET MVC5 使用NPOI导出ExceL 返回浏览器下载

一,什么是NPOI该项目是位于http://poi.apache.org/的POIJava项目的.NET版本。POI是一个开源项目,可以帮助您读取/写入xls,doc,ppt文件。它有着广泛的应用。 二,NPOI的优势一个。它完全免费使用湾 涵盖Excel的大部分功能(单元格样式,数据格式,公式等)C。支持xls,xlsx,docx。d。设计为面向接口的(看看NPOI.SS命名空间)即 不仅支持出口,还支持进口F。.Net2.0基于xlsx和docx(尽管我们也支持.NET4.0)G。来自世界各地的成功案例H。大量基本的例子一世。不依赖于孤立的存储 三,如何在项目中引用NPOI 可以在项目中选择工具NuGet管理——管理解决方案的NuGet包引入到项目中或者官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用。废话不多说直接上代码  这里我写了一个Excel的帮助类 需要用到的命名空间us...

.NET MVC项目设置包含Areas中的页面为默认启动页

利用vs创建一个MVC项目后,一般的默认启动页是根目录下-->Controllers-->HomeController-->Index这个方法对应的页面。我先说下创建Areas的流程:但是我们的controller一般都会建立很多,这样我们就会想建个文件夹按照业务或者其他的分类方式把这么多文件放在不通的文件夹分开,所以就有了区域【Areas】的概念。首先在根目录下创建一个Areas的文件夹,然后在Areas文件下创建一个区域,也就是我们要分类的文件夹 然后VS就会自动创建对应的文件夹和文件配置,如图:然后在controllers文件夹下面创建自己的controller即可,在views文件夹下面创建对应的view页面。说到这里,我们都创建好了,怎么设置默认启动页,指向我们的controller里面的方法呢?方法如下,设置controller和action,然后再加上areas即可:routes.MapRoute(name:"Default",url:"{controller}/{action}/{id}",defaults:new{controller="A...

ASP.NET MVC-异常处理&自定义错误页

一、应用场景 对于B/S应用程序,在部署到正式环境运行的过程中,很有可能出现一些在前期测试过程中没有发现的一些异常或者错误,或者说只有在特定条件满足时才会发生的一些异常,对于使用ASP.NETMVC开发的应用程序站点,在部署到IIS上后,如果开发人员未对程序进行错误处理,那么一旦程序出现未处理的错误或异常,用户将看到一个让人感到及其困惑的错误堆栈跟踪页面,使得站点的用户体验下降,从程序的角度上来说,不做自定义错误处理也不利于程序出问题时的根源查找,因为很多时候有些错误只在特定条件下满足时才重现,一旦错过,可能就需要花大量时间去测试来重现问题,如果此时开发人员有对程序中的运行时异常进行日志记录,那么或许将提供一些有价值的错误根源信息,下面我将向下大家讲解如何实现自定义异常处理并跳转到友好的错误提示页面。二、异常处理&自定义错误页1、通过异常过滤器实现异常处理和自定义错误页 asp.netmvc提供了 异常过滤器 的方式来实现当执行controller中某个action方法时抛出了未处理的异常时的捕捉,mvc中的异常过滤器是以特性(Attribute)...

Microsoft Win32 to Microsoft .NET Framework API Map

.NET Development (General) Technical Articles  Microsoft.NET FrameworkandMicrosoftVisualStudioUserEducationTeamsMicrosoftCorporationJanuary2004Appliesto:    Microsoft®.NET Frameworkversion1.0or1.1    MicrosoftVisualStudio®.NET    MicrosoftWin32®functionsSummary:ThisarticleidentifiestheMicrosoft.NET Frameworkversion1.0or1.1APIsthatprovidesimilarfunctionalitytoMicrosoftWin32function...

基于.NET平台常用的框架整理

分布式缓存框架:MicrosoftVelocity:微软自家分布式缓存服务框架。Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。Redis:是一个高性能的KV数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。开源的.NET系统推荐:OXITE:微软ASP.NETMVC案例演示框架。PetShop:微软ASP.NET宠物商店。Orchard:国外一个MVC开源的博客系统。SSCLI:微软在NETFramework2.0时代的开源代码。DasBlog:国外一个基于ASP.NET的博客系统。BlogEngine.NET:国外一款免费开源的博客系统。Dotnetnuke.NET:一套非常优秀的基于ASP.NET的开源门户网站程序。Discuz.NET:国内开源的论坛社区系统。nopCommerce和Aspxcommerce:国外一套高质量的开源B2C网站系统。JumboTCMS和DTCMS:国内两款开源的网站管理系统:日志记录异常...

spring.net xml 命名空间

<objects   xmlns="http://www.springframework.net"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:tx="http://www.springframework.net/tx"   xmlns:db="http://www.springframework.net/database"   xmlns:aop="http://www.springframework.net/aop"xmlns:context="http://www.springframework.net/context"   xsi:schemaLocation="http://www.springframework.nethttp://www.springframework.net/schema/objects/...

.NET中的动态编译

代码的动态编译并执行是一个.NET平台提供给我们的很强大的工具用以灵活扩展(当然是面对内部开发人员)复杂而无法估算的逻辑,并通过一些额外的代码来扩展我们已有的应用程序。这在很大程度上给我们提供了另外一种扩展的方式(当然这并不能算是严格意义上的扩展,但至少为我们提供了一种思路)。 动态代码执行可以应用在诸如模板生成,外加逻辑扩展等一些场合。一个简单的例子,为了网站那的响应速度,HTML静态页面往往是我们最好的选择,但基于数据驱动的网站往往又很难用静态页面实现,那么将动态页面生成html的工作或许就是一个很好的应用场合。另外,对于一些模板的套用,我们同样可以用它来做。另外这本身也是插件编写的方式。 最基本的动态编译 .Net为我们提供了很强大的支持来实现这一切我们可以去做的基础,主要应用的两个命名空间是:System.CodeDom.Compiler和Microsoft.CSharp或Microsoft.VisualBasic。另外还需要用到反射来动态执行你的代码。动态编译并执行代码的原理其实在于将提供的源代码交予CSharpCodeProvider来执行编译...

.net core 使用 swagger 生成接口文档

微软参考文档:https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio在 .netcore 中使用 swagger 生成接口文档跟在 asp.net 中使用方式一样,但把 swagger 添加到项目中不在生成SwaggerConfig.cs文件,需自己配置。项目引入Swagger我这里安装的是VS2017,当然VSCode也是可以的。Nuget安装Swagger的命令是:Install-PackageSwashbuckle.AspNetCore-Pre注意:Nuget包管理添加时一定要注意选择的时候选择 Swashbuckle.AspNetCore 默认的 Swashbuckle 不支持 asp.netcore基于asp.netcore 的中间件机制, Swagger也需要加入到中间件...

Asp.net mvc中Controller的返回值

(1)EmptyResult:当用户有误操作或者是图片防盗链的时候,这个EmptyResult就可以派上用场,返回它可以让用户啥也看不到内容,通过访问浏览器端的源代码,发现是一个空内容;publicActionResultEmptyResult(){//空结果当然是空白了!//至于你信不信,我反正信了returnnewEmptyResult();}(2)Content:通过Content可以向浏览器返回一段字符串类型的文本结果,就相当于Response.Write("xxxx");一样的效果;publicActionResultContentResult(){returnContent("Hi,我是ContentResult结果");}3)File:通过File可以向浏览器返回一段文件流,主要用于输出一些图片或文件提供下载等;publicActionResultFileResult(){varimgPath=Server.MapPath("~/demo.jpg");returnFile(imgPath,"application/x-jpg","demo.jpg");}(4)HttpUn...
首页上一页...165166167168169...下一页尾页