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

mvc 路由及部分视图

时间:2015-07-17 00:08:41      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

RouteConfig.cs代码:

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

namespace MvcApplication1
{
    public class RouteConfig
    {
        //定义:路由是定义如何处理客户端请求。

        //路由名称的设置: 在路由设置中,路由名称是可选输入参数,路由名称可生产URL路由,但是在路由解析中没有什么作用。不过当使用路由名称来生产URL路由的时候,路由模块将快速定位到指定名称的路由,否则将会进行查询,直到找到对应的路由。

        //顺序:路由表中的路由输入顺序应该按使用频率从前向后输入。最常用的放在最前面,此法方法不仅提高生产URL路由的效率,而且也提高路由解析的效率。因为在路由解析的过程中,一旦找到匹配的路由,就停止解析。

        //注意:在改变路由存放位置时,路由的次序改变是否实质性的影响匹配的结果。 
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
               name: "Default1",
               url: "find/{low}-{upp}",
               defaults: new { controller = "Home", action = "FindByPrice", low=0,upp=100 }
           );
            routes.MapRoute(
               name: "Default2",
               url: "k{year}/{month}/{day}",
               defaults: new { controller = "Home", action = "Show", year = "2015", month = "1", day = "1" }
           );

            routes.MapRoute(
                name: "Default3",
                url: "{k}-{parent}",
                defaults: new { controller = "Home", action = "Show", parent = "" }
            );

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

  控制器代码:

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

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }
        public ActionResult FindByPrice(decimal low, decimal upp)
        {
            List<Car> list = new CarDA().SelectByPrice(low, upp);
            return PartialView(list);
        }
        public string ShowParent(string parent)
        {
            return "父级下显示的视图...";
        }
        public string Show(int year, int month, int day)
        {
            return year + "年" + month + "月" + day + "日";
        }

    }
}

  

模型:

首先要用linq连接数据库 然后建一个类开始写方法:

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

namespace MvcApplication1.Models
{
    public class CarDA
    {
        private MyDBDataContext _context = new MyDBDataContext();
        public List<Car> Select()
        {
            return _context.Car.ToList();
        }
        public List<Car> SelectByPrice(decimal low, decimal upp)
        {
            var query = _context.Car.Where(p => p.Price >= low && p.Price <= upp);
            return query.ToList();
        }
    }
}

  

视图代码:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="~/Script/jquery-1.7.1.min.js"></script>
    <script>
        function test() {
            var low = $("#low").val();
            var upp = $("#upp").val();
            $("#dd").load("/find/" + low + "-" + upp);
        }
    </script>
</head>
<body>
    <div>
        <div>
        @Html.ActionLink("此处走第二个路径 ", "Show", new { year=2015, month=7,day=11})<br>
        @Html.ActionLink("此处走第三个路径 ", "ShowParent", new {parent=""})<br>
        @using (Html.BeginForm("FindByPrice", "Home"))
        {
            <div>
            最低价格:@Html.TextBox("low")
            最高价格:@Html.TextBox("upp")
            <input type="button" onclick="test()" value="查询" />
           </div>
        }
    </div>
    <div id="dd"></div>
    </div>
</body>
</html>

  部分视图代码:

@using MvcApplication1.Models
@model List<Car>

        <ul>
            @foreach(Car data in Model){
            <li>@data.Name @(data.Price)</li>
            }
        </ul>

  

mvc 路由及部分视图

标签:

原文地址:http://www.cnblogs.com/Mr-xue/p/4652776.html

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