码迷,mamicode.com
首页 > Web开发 > 详细

AspNet MVC4 教学-20:Asp.Net MVC4 Routing技术快速应用Demo

时间:2015-05-29 12:11:06      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:mvc4   asp.net   

A.创建一个Basic类型的MVC项目.

B.在Content文件目录下创建下载文件资源:cs.rar,cs.doc,cs.txt等,见下图右方:

技术分享

C.修改RouteConfig.cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace MvcRouteTest
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
           routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

          routes.MapRoute(
          name: "ForbidDownloadRar",
          url: "Content/Download/a/b/c/{id}.rar",
          defaults: new { controller = "Home", action = "ForbidDownloadRar" }
      );


          routes.MapRoute(
          name: "ForgeHtml",
          url: "china/htzd/{id}.html",
          defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
              ///////////////////路由值得添加约束
          constraints: new {id=@"\d+" }
      );

          routes.MapRoute(
           name: "Default",
           url: "{controller}/{action}/{id}",
           defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
       );

         
        }
    }
}

D.创建HomeController.cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcRouteTest.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        public ActionResult ForbidDownloadRar()
        {
            return View();
        }
        public ActionResult Index(int? ID)
        {
       
          if (ID.HasValue)
          {
               ViewBag.str ="传过来的ID为"+ ID.ToString();
          }
          else
          {
               ViewBag.str ="传过来的ID为Null";
          }
           
            return View();
        }
        public ActionResult GetFile()
        {

            return File(Server.MapPath("~/Content/download/a/b/c/cs.rar"), "application/x-rar-compressed","cs.rar");
        }

    }
}

E.创建相应的View:

Index.cshtml:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<h2>@ViewBag.str</h2>
<h2><a href="@Url.Content("~/Content/Download/a/b/c/cs.rar")">Rar下载测试1-使用Url帮助函数</a></h2>
<h2><a href="http://localhost:3310/Content/Download/a/b/c/cs.rar">Rar下载测试2-使用链接地址</a></h2>
<h2>@Html.ActionLink("Rar下载测试3-使用GetFile.", "GetFile", "Home")</h2>
<hr />
<h2><a href="@Url.Content("~/Content/cs.txt")">下载cs.txt测试--使用Url帮助函数</a></h2>
<h2><a href="http://localhost:3310/Content/cs.txt")">下载cs.txt测试--使用链接地址</a></h2>
<hr />
<h2><a href="@Url.Content("~/Content/cs.doc")">下载cs.doc测试--使用Url帮助函数</a></h2>
<h2><a href="http://localhost:3310/Content/cs.doc")">下载cs.doc测试--使用链接地址</a></h2>
<hr />
<h2><a href="@Url.Content("~/china/htzd/8.html")">伪造静态页面--使用Url帮助函数</a></h2>
<h2><a href="http://localhost:3310/china/htzd/8.html">伪造静态页面--使用链接地址</a></h2>

ForbieDownloadRar.cshtml:

@{
    ViewBag.Title = "ForbidDownloadRar";
}

<h2>禁止下载Rar文件</h2>

F.在Global.asax.cs文件中的Application_Start事件中最前面添加一行代码:

 RouteTable.Routes.RouteExistingFiles =true;

(也可参阅上图)

G.通过上述代码true或false的修改,来测试Index主页的各种链接功能.



AspNet MVC4 教学-20:Asp.Net MVC4 Routing技术快速应用Demo

标签:mvc4   asp.net   

原文地址:http://blog.csdn.net/vinglemar/article/details/46225303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!