返璞归真asp.net mvc 1.0(5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test

45、概率与模糊性:粗糙事件与模糊事件概率的探索 本文探讨了概率理论与模糊性理论在处理现实世界不确定性中的应用,重点分析了模糊事件和粗糙事件的概率定义、性质及其条件概率。同时,介绍了近似贝叶斯网络分类器在信息系统中的应用,以及如何通过概率决策约简提高分类效率。这些方法为处理不确定信息提供了灵活的工具,并在决策和数据分析中具有重要价值。 阅读详情
[索引页]
[源码下载]


返璞归真asp.net mvc 1.0(5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test


作者: webabcd


介绍
asp.net mvc 之 Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test
  • Action Filter - 在 Controller 层对信息做过滤。如何实现自定义的 Action Filter
  • UpdateModel -  根据参数自动为对象的属性赋值
  • ModelBinder - 定义如何绑定 Model,DefaultModelBinder 实现了 IModelBinder ,其可以根据名称自动将参数赋值到对象对应的属性上
  • Ajax -  在 asp.net mvc 中使用 ajax
  • Unit Test -  在 asp.net mvc 中使用单元测试


示例
1、asp.net mvc 自带的 Action Filter 的演示
FilterDemoController.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.Mvc;
using  System.Web.Mvc.Ajax;

using  MVC.Models;

namespace  MVC.Controllers
{
    
// HandleError - 出现异常时跳转到 Error.aspx(先在指定的 view 文件夹找,找不到再在 Shared 文件夹下找)
    
// 需要 web.config 配置 - <customErrors mode="On" />
    [HandleError]
    
public class FilterDemoController : Controller
    
{
        
// 每一个 Filter 都有一个 Order 属性,其用来指定 Filter 的执行顺序

        
// [NonAction] - 当前方法为普通方法,不解析为 Action

        
// [AcceptVerbs(HttpVerbs)] - 调用该 Action 的 http 方法
        
// HttpVerbs 枚举成员如下: HttpVerbs.Get, HttpVerbs.Post, HttpVerbs.Put, HttpVerbs.Delete, HttpVerbs.Head


        ProductSystem ps 
= new ProductSystem();


        
// ActionName() - Action 的名称。默认值同方法名称
        [ActionName("Product")]

        
// ValidateInput() - 相当于 @ Page 的 ValidateRequest, 用于验证请求中是否存在危险代码。可防止 XSS 攻击。默认值为 true
        [ValidateInput(false)]
        
public ActionResult Details(int id)
        
{
            var product 
= ps.GetProduct(id);

            
return View("Details", product);
        }


        
// ValidateAntiForgeryToken() - 避免 CSRF 攻击(需要视图页面中使用 Html.AntiForgeryToken())。原理:生成一个随机字符串,将其同时写入 cookie 和 hidden,当 form 提交到 action 时,验证二者是否相等并且验证提交源是否是本站页面(详查 asp.net mvc 的源代码)
        
// 拼 sql 的时候防止 sql 注入:使用 @Parameter 的方式
        [ValidateAntiForgeryToken()]
        
public ActionResult ValidateAntiForgeryTokenTest()
        
{
            
return Content("ValidateAntiForgeryToken");
        }


        
// OutputCache() - 缓存。Duration - 缓存秒数。VaryByParam - none, *, 多个参数用逗号隔开
        [OutputCache(Duration = 10, VaryByParam = "none")]
        
// [OutputCache(CacheProfile = "MyCache")] - 通过配置文件对缓存做设置。可以参看 http://www.cnblogs.com/webabcd/archive/2007/02/15/651419.html
        public ActionResult OutputCacheDemo()
        
{
            
return Content(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
        }


        
public ActionResult HandleErrorDemo()
        
{
            
throw new Exception("HandleErrorDemo");
        }


        
// Authorize() - 验证。走的是 membership
        [Authorize(Users = "user")]
        
// [Authorize(Roles = "role")]
        
// Request.IsAuthenticated - 返回一个 bool 值,用于指示请求是否通过了验证
        public ActionResult AuthorizeDemo()
        
{
            
return Content("Authorize");
        }


        
// 自定义的 Action Filter 的 Demo
        [MyFilter()]
        
public ActionResult MyFilterDemo()
        
{
            
return Content("MyFilterDemo" + "<br />");
        }

    }

}


自定的 Action Filter 的实现
MyFilter.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;

using  System.Web.Mvc;

namespace  MVC
{
    
/// <summary>
    
/// 自定义的 Action Filter,需要继承 ActionFilterAttribute
    
/// </summary>

    public class MyFilter : ActionFilterAttribute
    
{
        
public override void OnActionExecuting(ActionExecutingContext filterContext)
        
{
            HttpContext.Current.Response.Write(
"OnActionExecuting" + "<br />");
        }


        
public override void OnActionExecuted(ActionExecutedContext filterContext)
        
{
            HttpContext.Current.Response.Write(
"OnActionExecuted" + "<br />");
        }


        
public override void OnResultExecuting(ResultExecutingContext filterContext)
        
{
            HttpContext.Current.Response.Write(
"OnResultExecuting" + "<br />");
        }


        
public override void OnResultExecuted(ResultExecutedContext filterContext)
        
{
            HttpContext.Current.Response.Write(
"OnResultExecuted" + "<br />");
        }

    }

}


Details.aspx
<% @ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MVC.Models.Products>"  %>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="TitleContent"  runat ="server" >
    Details
</ asp:Content >
< asp:Content  ID ="Content2"  ContentPlaceHolderID ="MainContent"  runat ="server" >
    
<%  Html.BeginForm("ValidateAntiForgeryTokenTest", "FilterDemo");  %>
    
<% =  Html.AntiForgeryToken()  %>
    
< h2 >
        Details
</ h2 >
    
< p >
        
< strong > ProductID: </ strong >
        
<% =  Html.Encode(Model.ProductID)  %>
    
</ p >
    
< p >
        
< strong > ProductName: </ strong >
        
<% =  Html.Encode(Model.ProductName)  %>
    
</ p >
    
< p >
        
< input  type ="submit"  name ="btnSubmit"  value ="submit"   />
    
</ p >
    
<%  Html.EndForm();  %>
</ asp:Content >


2、应用 UpdateModel 的 Demo
UpdateModelController.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.Mvc;
using  System.Web.Mvc.Ajax;

namespace  MVC.Controllers
{
    
public class UpdateModelController : Controller
    
{
        
public ActionResult Details(string name, int age)
        
{
            User user 
= new User();

            
// UpdateModel() 和 TryUpdateModel() - 系统根据参数自动为对象的属性赋值

            
base.UpdateModel(user); // 失败抛异常
            
// base.TryUpdateModel(user); // 失败不抛异常

            ViewData.Model 
= user;

            
return View();
        }

    }

}


Details.aspx
<% @ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MVC.Controllers.User>"  %>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="TitleContent"  runat ="server" >
    Details
</ asp:Content >
< asp:Content  ID ="Content2"  ContentPlaceHolderID ="MainContent"  runat ="server" >
    
< h2 >
        Details
</ h2 >
    
< p >
        
< strong > UserId: </ strong >
        
<% =  Model.ID  %>
    
</ p >
    
< p >
        
< strong > Name: </ strong >
        
<% =  Model.Name %>
    
</ p >
    
< p >
        
< strong > Age: </ strong >
        
<% =  Model.Age %>
    
</ p >
</ asp:Content >


3、演示什么是 ModelBinder
ModelBinderController.cs
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.Mvc;
using  System.Web.Mvc.Ajax;

namespace  MVC.Controllers
{
    
public class ModelBinderController : Controller
    
{
        
/// <summary>
        
/// 路由过来的或者参数过来的,会自动地赋值到对象的对应的属性上
        
/// 做这个工作的就是实现了 IModelBinder 接口的 DefaultModelBinder
        
/// </summary>

        public ActionResult Details(User user)
        
{
            
base.ViewData.Model = user;

            
// ModelState - 保存 Model 的状态,包括相应的错误信息等
            if (!base.ModelState.IsValid)
            
{
                
foreach (var state in ModelState)
                
{
                    
if (!base.ModelState.IsValidField(state.Key))
                        ViewData[
"errorMsg"] = state.Key + "/" + state.Value.Value.AttemptedValue + "<br />";
                }

            }


            
return View();
        }

    }

}


Details.aspx
<% @ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage"  %>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="TitleContent"  runat ="server" >
    Details
</ asp:Content >
< asp:Content  ID ="Content2"  ContentPlaceHolderID ="MainContent"  runat ="server" >
    
< h2 >
        Details
</ h2 >
    
<%  var model = ((MVC.Controllers.User)ViewData.Model);  %>
    
< p >
        
< strong > UserId: </ strong >
        
<% =  model.ID  %>
    
</ p >
    
< p >
        
< strong > Name: </ strong >
        
<% =  model.Name  %>
    
</ p >
    
< p >
        
< strong > Age: </ strong >
        
<% =  model.Age  %>
    
</ p >
    
< p >
        
< strong > error: </ strong >
        
<% =  ViewData[ " errorMsg " ]  %>
    
</ p >
</ asp:Content >


4、使用 ajax 的 Demo
     < p >
        Ajax
        
        
< script  src ="http://www.cnblogs.com/Scripts/MicrosoftAjax.debug.js"  type ="text/javascript" ></ script >
        
< script  src ="http://www.cnblogs.com/Scripts/MicrosoftMvcAjax.debug.js"  type ="text/javascript" ></ script >
                       
        
< br  />
        
        
<!--  AjaxHelper 简要说明  -->
        
<% =  Ajax.ActionLink(
                
" ProductId 为 1 的详情页 " ,
                
" Details " ,
                
" Product " ,
                
new  { id  =   1  },
                
new  AjaxOptions { UpdateTargetId  =   " ajax "  }
            )
        
%>  
    
</ p >
    
< div  id ="ajax"   />


5、在 VS 中做单元测试
ProductControllerTest.cs
using  MVC.Controllers;
using  Microsoft.VisualStudio.TestTools.UnitTesting;
using  Microsoft.VisualStudio.TestTools.UnitTesting.Web;
using  System.Web.Mvc;

using  MVC.Models;
using  System.Collections.Generic;

namespace  MVC.Tests
{
    
/// <summary>
    
///这是 ProductControllerTest 的测试类,旨在
    
///包含所有 ProductControllerTest 单元测试
    
///</summary>

    [TestClass()]
    
public class ProductControllerTest
    
{
        
private TestContext testContextInstance;

        
/// <summary>
        
///获取或设置测试上下文,上下文提供
        
///有关当前测试运行及其功能的信息。
        
///</summary>

        public TestContext TestContext
        
{
            
get
            
{
                
return testContextInstance;
            }

            
set
            
{
                testContextInstance 
= value;
            }

        }


        
附加测试属性


        
/// <summary>
        
///Index 的测试
        
///</summary>

        // TODO: 确保 UrlToTest 属性指定一个指向 ASP.NET 页的 URL(例如,
        
// http:///Default.aspx)。这对于在 Web 服务器上执行单元测试是必需的,
        
//无论要测试页、Web 服务还是 WCF 服务都是如此。
        [TestMethod()]
        [HostType(
"ASP.NET")]
        [AspNetDevelopmentServerHost(
"C://MVC//MVC", "/")]
        [UrlToTest(
"http://localhost:2005/")]
        
public void IndexTest()
        
{
            ProductController target 
= new ProductController(); // TODO: 初始化为适当的值
            int pageIndex = 0; // TODO: 初始化为适当的值

            ViewResult actual;
            actual 
= target.Index(pageIndex) as ViewResult;

            Assert.AreNotEqual(actual.ViewData.Model 
as List<Products>, null);
        }

    }

}



OK
[源码下载]
GEE:变异系数法在遥感影像分析中的应用及权重计算 本文介绍了在Google Earth Engine(GEE)平台上基于变异系数法的多指标加权遥感影像分析方法。该方法通过计算每个指标的平均值和标准差,进而计算变异系数来评估指标的变化程度。利用变异系数,我们可以计算每个指标的权重,并将其应用于加权和指数的计算,从而提高遥感影像分析的准确性和可靠性。方法应用于计算Risk-Screening Environmental Indicators (RSEI),并以此为例。 阅读详情

相关推荐

Unity 2022打包Android APK:手把手教你创建和配置第一个签名Keystore(避坑指南)

本文详细介绍了Unity 2022打包Android APK时创建和配置签名Keystore的全流程,包括环境准备、Keystore创建、高级配置避坑指南以及签名验证与故障排查。特别强调了Android应用签名的重要性及安全维护策略,帮助开发者避免常见错误,确保应用顺利发布。

weixin_27379781的博客 241

ASP.NET MVC的Action Filter

一年前写了一篇短文ASP.NET MVC Action Filters,整理了Action Filter方面的资源,本篇文章详细的描述Action Filter。Action Filter作为一个可以应用到Controller Action(或者是整个controller)上的属性(Attribute),改变Action执行的行为,当应用于整个Controller上时,Controlle

shanyou的专栏 1226

在C++中,NULL和nullptr有什么区别?

这两个定义导致了冲突,C++中的NULL如果和C语言一样也是(void *)0指针,而C++不允许void*隐式转换成其它指针类型,那NULL就无法表示空指针了。因此,使用 nullptr可以增加代码的清晰性,避免类型安全问题。即使在混合C++和C代码时,nullptr也提供了一个明确无误的空指针表示,达到兼容的目的。C++11 引入 nullptr 彻底解决了这些问题,提高语言的安全性、清晰性和现代性。在了解NULL和nullptr背后的故事之后,相信大家以后再也不会用NULL了。

hebhljdx的博客 678

ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)

本系列文章基于ASP.NET MVC Preview5. 有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你创建action过滤器。Action过滤器是自定义的Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器类中的Action方法中。 一些可能用到Action过滤器的地方有: 日志,...

sinolover的专栏 452

【ROS2】Arduino系列之机器人底盘实现

介绍ros中提供的一个已经封装了的模块: ros_arduino_bridge,该模块由下位机驱动和上位机控制两部分组成,通过该模块可以更为快捷、方便的实现自己的机器人平台

guilin 1483

云服务器安装ros教程

要在 CentOS 7 系统上安装 RouterOS,您需要将 RouterOS 安装为虚拟机或直接安装到物理硬盘上。这里提供的是将 RouterOS 安装到物理硬盘上的步骤,这将完全替换现有的 CentOS 7 系统。请确保您已经备份了所有重要数据。

qq_37662563的博客 2145

ASP.NET MVC中Filter过滤器的使用

1、Action过滤器在ASP.NET MVC中创建MvcApp项目,创建文件夹Filter,然后新建类MyActionFilterAttribute(为了遵循默认的约定,名称以Attribute结尾),继承自ActionFilterAttribute类。ActionFilterAttribute类有如下4个方法。对于过滤器,我们可以把它们加在3个地方,一个是控制器上面(控制器下面的所有Action),一个是Action上面(指定标识的Action),另一个就是全局位置(所有控制器中的Action)。

大新软件老杨 1612

踩坑2周总结:Python+YOLO26搭建工业级多路视频分析应用,从单路卡顿到16路4K稳跑30FPS

本文分享了工业级多路视频分析系统的实战经验,针对智慧物流园区的车辆违停和人员安全监测需求,提出了一套完整的解决方案。作者通过踩坑实践,总结出多路视频分析的四大核心痛点:视频流解码瓶颈、推理调度混乱、内存占用爆炸和部署兼容性差。 文章详细介绍了技术选型方案,推荐使用FFmpeg+PyAV进行硬件加速解码、YOLO26+TensorRT INT8量化推理、单进程多线程的生产者-消费者架构,以及内存池复用等技术组合。该方案在RTX 4070 Ti上实现了16路4K视频30FPS稳定运行,GPU利用率达85%以上,

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 955

ASP.NET MVC中的ActionFilter介绍学习

一直都知道MVC中的ActionFilter,只是没有在实际项目中使用过。 顾名思义,ActionFilter就是指在Action上的Filter, 那么,在Action上的Filter到底有哪些呢。首先我们看看MVC中的Controller基类(抽象类) public abstract class Controller : ControllerBase, IActionFilter,...

weixin_30852419的博客 230

SAP S/4HANA Public Cloud 配置全景实践

本文提供SAP S/4HANA Public Cloud配置的实用指南,重点介绍三大核心工具:CBC(范围界定与配置)、SAP Activate(方法论与路线图)和Cloud ALM(项目执行与运维)。文章详解了不同系统架构(2SL/3SL)的配置路径,并以制造企业案例说明端到端实施流程。同时提供了工具协同操作方法、初始访问安全建议和常见问题的专家意见,帮助项目团队高效完成实施工作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 559

音乐生成 - 使用LSTM或Transformer模型进行音乐生成,如MIDI音乐生成。

在本篇博客中,我们将介绍如何使用LSTM和Transformer模型生成MIDI音乐。我们将首先概述音乐生成的一般流程,然后深入了解LSTM和Transformer模型的特点和实现。最后,我们将通过Python代码演示如何使用这两种模型生成MIDI音乐。

斌擎科技 1719

ASP.NET MVC使用Action过滤器处理方法

Action过滤器在动作方法之前及之后运行,Result过滤器在动作结果被执行之前和之后运行。 1、Action过滤器 在ASP.NET MVC中创建MvcApp项目,创建文件夹Filter,然后新建类MyActionFilterAttribute(为了遵循默认的约定,名称以Attribute结尾),继承自ActionFilterAttribute类。ActionFilterAttribute...

pan_junbiao的博客 1685

[QMT量化交易小白入门]-十二、QMT回测龙头打首板和连板的策略

class a():passA = a() #创建空的类的实例 用来保存委托状态field_list定义了需要的市场数据字段,而类a用于保存交易状态。

木头大左的博客 4757

返璞归真asp.net mvc 1.0(5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test【转】

介绍asp.net mvc 之 Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test Action Filter - 在 Controller 层对信息做过滤。如何实现自定义的 Action FilterUpdateModel -  根据参数自动为对象的属性赋值ModelBinder - 定义如何绑定 Model,DefaultMode...

weixin_34101784的博客 116

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【ASP.NET MVC】过滤器之ActionFilterAttribute

1. 过滤器类登录后复制 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Mes.Models { public class M...

weixin_36944546的博客 291

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ASP.NET MVC的Action拦截器(过滤器)ActionFilter

有时项目要进行客户端请求(action)进行拦截(过滤)验证等业务,可以使用拦截器进行实现,所谓的action拦截器也没有什么的,只是写一个类,继承另一个类(System.Web.Mvc.FilterAttribute)和一个接口(System.Web.Mvc.IActionFilter),至于什么是拦截器这里就不说了,网上很多关于这方面文章。 假如现在有这样的一个需求:某个action需要登录...

xwnxwn的专栏 3950

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

.Net Mvc ActionFilterAttribute的OnActionExecuted中获取请求参数信息

最近在做个接口功能,业务需求需要记录请求报文,即保存请求参数,设计逻辑在OnActionExecuted获取参数加以保存。但是处理过程不是很顺利,折腾后记录下。MVC中的ActionFilterAttribute可以继承两个父类(using System.Web.Mvc)和(using System.Web.Http.Filters),分别对应的是Controller和ApiController中...

俞祥胜的.Net进阶之旅 9584

asp.net core MVC 过滤器之ActionFilter过滤器(二)

简介 Action过滤器将在controller的Action执行之前和之后执行相应的方法。 实现一个自定义Action过滤器 自定义一个全局异常过滤器需要实现IActionFilter接口 public class ActionFilter : IActionFilter {     public void OnActionExecuted(ActionExecutedContext

dotNET跨平台 3834

ASP.NET Mvc 简单的 action全局拦截器(过滤器)

ASP.NET  Mvc  简单的 action全局拦截器(过滤器) 1.创建一个类  继承:ActionFilterAttribute public class ActionFilter : ActionFilterAttribute    {        #region 是否登录        public bool IsLogin { get; set; }        #end

隶属感的博客 8095

ASP.NET MVC5 过滤器ActionFilterAttribute(全局过滤),某些Action或Controller不过滤

小学没毕业,文章写的不好,有缘看文章的朋友勿喷!勿喷!勿喷!需求:这几天做项目的时候碰到一个情况,当用户登录以后将用户的信息存储到COOKIES里面,如果用户没有登录就自动跳转到登录页面;请求所有Controoler的Action都需要进行验证Cookies中是否有用户信息;实现代码(以下代码均在网上找的):    1、创建一个类,继承 ActionFilterAttributepublic cl...

榆木 7131

【ASP.NET专题】(7)——ASP.NET MVC中的过滤器Filter

在ASP.NET MVC应用程序中,当有以下需求时,你可以使用Filter功能:判断登录与否或用户权限、决策输出缓存、防盗链、防蜘蛛、本地化与国际化设置、实现动态Action Filter是一种声明式编程方式,在Asp.net MVC中它只能限制于Action(或它的Controller)。 Filter要继承于ActionFilterAttribute抽象类,并可以覆写void On

薛敬明的专栏 3347

返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性

[索引页]<br />[源码下载]<br /><br /><br />返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性<br /><br />作者:webabcd<br /><br /><br />介绍<br />asp.net mvc 之 asp.net mvc 2.0 新特性:如通过 DataAnnotations 实现数据验证及客户端验证,MVC 与 Dynamic Data 的结合,对异步 Controller 的支持,对 Area 的支持,新增的一些帮助方法等<

webabcd的专栏 1159

精进不休 .NET 4.0 系列文章索引

[源码下载]<br /><br /><br />精进不休 .NET 4.0 系列文章索引<br /><br /> 作者:webabcd<br /><br /><br /> 介绍<br /> 精进不休 .NET 4.0 系列文章索引:asp.net 4.0 新特性, c# 4.0 新特性, ADO.NET Data Services 1.5 新特性, ADO.NET Entity Framework 4.0 新特性<br /><br /><br /> 1、精进不休 .NET 4.0 (1) - asp

webabcd的专栏 872

返璞归真asp.net mvc 1.0(2) - 路由(System.Web.Routing)

[索引页][源码下载]返璞归真asp.net mvc 1.0(2) - 路由(System.Web.Routing)作者:webabcd介绍System.Web.Routing - 此命名空间提供用于 URL 路由的类,通过该类可以使用不映射到物理文件的 URLIRouteHandler - 路由处理程序接口,自定义的路由处理程序都要实现这个接口RequestContext - 封装所请求

webabcd的专栏 816
上一篇: 稳扎稳打Silverlight(30) - 2.0Tip/Trick之Silverlight.js, Silverlight.supportedUserAgent.js, 自定义启动界面, 响应鼠标滚轮事件
下一篇: 返璞归真 asp.net mvc 1.0 系列文章索引
webabcd
博客等级 码龄17年 28粉丝 911原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值