随笔分类 - ASP.NET
ASP.NET技术(含WebForm、MVC)
摘要:第1到3题解答如下:
public enum QuestionType
{
Text = 0,
MultipleChoice = 1
}
public interface IQuestion
{
string Title { get; set; }
QuestionType Category { get; }
}
public abstract class QuestionBase : IQuestion
{
public string Title { get; set; }
public abstract QuestionType Category { get; }
public virtual string GetAnswer()
{
return "默认答案";
}
}
public
阅读全文
摘要:这里解析key的方式是寻找parameterName[index].Key这样的结构、解析value的方式是寻找parameterName[index].Value这样的结构。如果key或者value是复杂类型(如上面例子中的Information类型),则parameterName[index].Key或parameterName[index].value将被视为前缀(也可以理解为某个类型)而.PropertyName被视为后缀(即某个属性)。这里的索引也要求必须是以0开始的不间断的正整数。否则断开以后的部分将不会被解析。 构建IEnumerable, ICollection, IList, T[], Collection, 以及 List这类集合类型需要使用第一种语法。 而构建IDictionary 和 Dictionary这类集合需要使用第二种语法。 如果你不喜欢这种方式,你完全可以在Asp.net mvc中自定义一些binder来处理特定的类型。或者直接使用FormCollection。
阅读全文
摘要:实现自动生成序号的方法很多,最常见的是通过添加GridView1_RowDataBound方法,然后在里面依据实际情况计算序号,我这人希望能越简单且越好用就最好了,所以我采用了上面的方法,核心代码是:(Container.DataItemIndex + GridView1.PageIndex+1),其中Container.DataItemIndex表示当前行索引,GridView1.PageIndex表示页索引,由于索引是从0开始,所以加上1就OK了,这样整个表就有序号了,而且在分页下也是连续性的,不会出现每页从1开始的情况。
阅读全文
摘要:1.1.WebForm优点
1)支持事件模型开发,得益于丰富的服务端组件,WebForm开发可以迅速的搭建Web应用
2)使用方便,入门容易
2.1.MVC优点
1)很容易将复杂的应用分成M,V,C三个组件模型,通过Model,View和Controller有效的简化了复杂的架构, 体现了很好的隔离原则
2)因为没有使用Server-Based forms。所以我们程序员控制的更加灵活,页面更加干净。
3)通过修改路由规则,可以控制生成自定义的url,因此控制生成seo友好的url将更加容易。
4)强类型的view实现,更安全,更可靠,更高效。
5)让web开发可以专注于某一层,更利于分工配合使用与大型架构开发
6)对异步处理提更好的支持
7)校验非常高
8)表单提交的时候,提供自动装配的功能
9)微软提供的全局的过滤器
10)可扩展性
11)易测试性
阅读全文
摘要:我之前就已经实现了ASP.NET MVC分页(查看该博文),但它有局限性,必须确保在同一个视图中只能有一处分页,若需要在同一个视图中设置多个分页,却无能为力,为此,我重新对原先的代码进行了优化,增加了更为灵活的配置属性及生成规则,解决了上述问题.
阅读全文
摘要:方法一:通过Request.Form
方法二:通过映射到FormCollection
方法三:通过映射到控制器方法参数
方法四:通过映射到视图数据对象
方法五:通过调用UpdateModel方法
阅读全文
摘要:第一种:通过FTP来上传文件
首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了
第二种:通过WebClient来上传文件
声明WebClient,然后通过OpenWriteCompletedEventHandler事件中读取上传文件流实现上传
第三种:通过Web Service来上传文件(与第二种其实原理有些相同)
定义Web Service类,并在另一个网站引用该服务,然后调用WEB服务类的上传与下载方法即可;
第四种:通过页面跳转或嵌套页面的方式(这种方法很简单,严格不算跨服务器,且有一定的局限性)
1.在需要上传文件的页面加入iframe,iframe的地址指向另一个服务器上传页面,并且页面需包含上传按钮;
2.需要上传时就利用JS的location.href或服务端的Response.redirect跳转至另一个服务器上传页面;
阅读全文
摘要:第一种:同主域但不同子域之间实现单点登陆
Form验证其实是基于身份cookie的验证。客户登陆后,生成一个包含用户身份信息(包含一个ticket)的cookie,这个cookie的名字就是在web.config里Authentication节form设定的name信息,如
这里,.ASPNETAUTH就是这个Cookie的名字。通过在Request.Cookies集合里包含这个cookie,实现用户身份信息的传递。所以,共享身份验证信息的思路很简单:只要这个身份验证cookie能在自域名中共享,Form验证信息自然可以共享!
阅读全文
摘要:ASP.NET MVC中不能使用分页控件,所以我就自己写了一个分页局部视图,配合PageInfo类,即可实现在任何页面任意位置呈现分页,由于采用的是基于POST分页方式,所以唯一的限制就是必须放在FORM中,当然以后我会考虑实现基于URL分页的!
阅读全文
摘要:1.报错:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
解决方案地址:http://blog.csdn.net/canielau/article/details/7609613
2.报错:您要找的资源已被删除、已更名或暂时不可用。
解决方案地址:http://www.cnblogs.com/paulxie/archive/2013/06/08/3127234.html
阅读全文
摘要:1.IIS7配置URL重写需要注意系统是32位还是64位的
2.IIS7 asp.net URL重写配置
3.从IIS6移植到IIS7,URL重写后报错检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
阅读全文
摘要:ASP.NET高并发解决方案
一、页面静态化;
二、运用WCF,WEB SERVICE等技术实现分布式业务逻辑处理及数据访问的能力;
三、页面缓存;
四、数据缓存;
五、建立图片文件服务器;
阅读全文
摘要:通过JavaScriptSerializer来实现。它的名字空间为:System.Web.Script.Serialization
如果要使用它,还须添加
System.Web.Extensions库文件引用
参考实体类:Customer
public class Customer
{
public int Unid { get; set; }
public string CustomerName { get; set; }
}
类JavaScriptSerializer描述:为启用 AFAX 的应用程序提供序列化和反序列化功能。
阅读全文
摘要:Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验
证用的最多,也最灵活。
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证
用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就
会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不
同用户的访问授权进行控制了。
阅读全文
摘要:NVelocity常用语法指令
默认情况下,NVelocity解析是不分大小写的,当然可以通过设置runtime.strict.math=true,采用严格解析模式。严格区分大小写有时候还是挺有用途的。如果在模板文件中有这样的包含文件,发布改模板的时候,就会提示#include后面没有括弧()的错误。因为在NVelocity中,有#include("abc.html")这样的指令。如果我们将include改为Include就不会报错了。对变量的引用:$ [ ! ][ { ][ a..z, A..Z ][ a..z, A..Z, 0..9, -, _ ][ } ]。
在NVelocity中,对变量的引用都是以$开头加上变量名称。当使用!时表示当此变量值为空时,显示空字符串。比如当$article为空,那会显示“$article“,而$!article会显示为“”。{}为变量名称限定,有时候变量名称后会有字符串,这是就需要用到{}了。比如$articleshow,想引用$article,这时只要修改为${articl
阅读全文
摘要:Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
string filename = Server.MapPath("DownLoad/aaa.zip");
Response.TransmitFile(filename);
}
阅读全文
摘要:啥叫异步,啥叫Ajax.咱不谈啥XMLHTTPRequest.通俗讲异步就是前台页面javascript能调用后台方法.这样就达到了无刷新.所谓的Ajax.这里我们讲二种方法
方法一:(微软有自带Ajax框架)
在Asp.net里微软有自己的Ajax框架.就是在页面后台.cs文件里引入 using System.Web.Services 空间 然后定义静态方法(方法前加上 [WebMethod])
[WebMethod]
public static string ABC(string ABC)
{
return ABC;
}
好了,现在我们谈谈前台Js怎么处理后台返回的数据吧,可利用Jquery处理返回的纯html,json,Xml等数据.这里我们演示返回返回的数据有string、集合(List)、类.
但都返回Json格式
阅读全文
摘要:GetValid.aspx
(可以直接将该页面作为源赋值给ImageUrl)
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using System.Drawing;
阅读全文
摘要:第一种方法:使用CDOSYS
第二种方法:使用LOTUS组件
阅读全文
摘要:asp.net里导出excel表方法汇总
public void ToExcel(System.Web.UI.Control ctl)
{
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState =false;
System.IO.Stri
阅读全文