在 ASP.NET MVC 项目中使用 WebForm
ASP.NET MVC和WebForm各有各的优点,我们可能需要同时使用ASP.NET MVC和WebForm。本文介绍了如何在ASP.NET MVC项目中使用WebForm。
首先新建一个名为WebForms的文件夹用于存放WebForm,并添加一个Web窗体文件Demo.aspx作为演示。
Demo.aspx就简单的输出一句话“It’s a WebForm.”
关键步骤在于路由设置。如果你希望WebForms这个文件夹名作为URL的一部分,也就是普通WebForm应用程序的方式来访问这个Demo.aspx,那么只需要简单的忽略这个路由规则即可。
在Global.asax.cs文件的RegisterRoutes方法中加入以下代码
// 忽略对 WebForms 路径的路由
routes.IgnoreRoute("WebForms/{weform}");
结果:
如果希望URL更友好或者不出现WebForms这个文件夹名,那就要自己写一个类继承IRouteHandler。
public class WebFormsRouteHandler:IRouteHandler
{
private string pageName = string.Empty;
public WebFormsRouteHandler(string page)
{
this.pageName = page;
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
// 创建实例
IHttpHandler hander = BuildManager.CreateInstancefromVirtualPath("/WebForms/" + this.pageName, typeof(System.Web.UI.Page)) as IHttpHandler;
return hander;
}
}
然后在Global.asax.cs文件中加上新的路由规则
routes.Add("webforms", new Route("web/demo", new WebFormsRouteHandler("demo.aspx")));
当路径匹配web/demo时用自定义的类来处理这个请求。
结果(URL改变):
相关文档:
Default..aspx
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
Default..aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.We ......
好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑.
来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.
很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?
......
最终效果如下图:
-----------------------------------------------------------------------------------------------
样式部分:
<style type="text/css">
.anpager .cpb
{
& ......
1.代码后置
代码后置是微软的一项技术,也是我们编写ASP.NET常用的编码方式。具体方式就像页面文件(.aspx)和代码文件(.cs)两个文件相互关联
所构成的页面。一边情况下,.aspx文件中没有代码、只有空间和HTML代码,而.cs文件中编写相关的代码操作。
这样做的好处就是:使代码与页 ......
前台 aspx 文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="List.aspx.cs" Inherits="List" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<he ......