ASP.NET 4当中Url Routing的支援
ASP.NET 4的Web Forms当中,最令人激赏的,则莫过于是URL Routing机制的全面支持。过去在ASP.NET 3.5 SP1当中,Web Forms或多或少就开始支持URL Routing机制,它让我们在网址的呈现以及使用上更加的有弹性。
过去我们在ASP.NET当中,习惯于底下这样的网址呈现方式:
http://myWebSite/EditProduct.aspx?Id=1
但最近几年REST风格的网站(或REST Web服务)兴起,你常常会看到网址的呈现方式变成:
http://myWebSite/Product/Edit/XBOX
上面这样的网址有一些好处,首先,网址可以更明确的表达想要呈现的功能,或是要后端应用程序进行的行为;其次,上面这样的网址由于并非对应到后端某一个实体档案(.aspx.cs),而是透过Routing机制来转派,因此相较过去的网址有着更高的安全性。
也就是说,在这样的架构下,ASP.NET应用程序的网址再也不只是对应到实体档案的路径,而是可用来表达要执行的功能。至于实际执行时要处理的程序代码或呈现结果的网页,也并非一定要是由网址所指向的实体页面。这也让我们在开发应用程序时有更大的弹性,例如一般的部落格网站网址可能是『http://blog/studyhost』,由于blog网站多半都可以开放给多人申请,理所当然的每一个用户都有类似『http://blog/申请者ID』这样的网址。当然,对应到ASP.NET的后端应该都是同一套程序来处理,在过去的ASP.NET应用程序当中,我们得要煞费一番工夫才能让网站可以接受这样的网址设计(把参数从QueryString转变成REST风格),而现在,透过URL Routing机制很快地就能轻松搞定。
除此之外,还有另一个显而易见的好处,采用REST风格的网址:
http://myWebSite/Product/Edit/XBOX
vs.
http://myWebSite/EditProduct.aspx?Id=1
相较于传统网址更容易被Google等搜索引擎查询与检索,毕竟上图网址中的XBOX比起产品Id=1来得容易理解的多。
那我们要如何在ASP.NET 4当中使用这样的机制呢,您只需要透过新加入的Routes类别,利用MapPageRoute方法即可轻易的完成URL路由的指定,例如:
view plaincopy to clipboardprint?
protected void Application_Start(object sender, EventArgs e) {
RouteTable.Routes.MapPageRoute(
"TestRoute", "Search/{ProductName}", "~/WebForm1.aspx");
}
protected void Application_Start(object sender, EventArgs e) {
相关文档:
经常需要在数据库与Execl之间互导数据。net时代,ADO.NET可以使用使用Microsoft.Jet.OleDb访问访问Excel,网上已经有很多类似的资源,最典型也是最简单的可能如下:(asp.net环境)
// 连接字符串
......
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:updatepanel ID="UP" runat="server">
<ContentTemplate>
......
Asp.Net 备份和恢复SQL SERVER 数据库
我们通常备份数据库时,需要登录数据库服务器去备份和恢复,这样很不方便,其实SQL SERVER自带的命令可能让我们很简单地实现远程通过Asp.Net备份和恢复数据库。
BACKUP DATABASE '被备份的数据库名' TO DISK = '备份文件路径';
ALTER DATABASE '被恢复的数据库名' ......
在asp.net里怎么跟据用户权限来生成树形菜单
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
......
很多同学都读过这篇文章吧 ASP.NET MVC中你必须知道的13个扩展点,今天给大家介绍一个ASP.NET MVC的扩展库,主要就是针对这些扩展点进行。这个项目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac。如果你和我一样喜欢使用IOC,这个库值得你关注,这些IOC我都用过了,现在比较喜欢使用Autofac。
AS ......