求救,怎么设置MVC首页, 1.要 http//:server/ 访问这种形式的 2.如果这样,首页到底放在哪呀,在Views文件夹下吗??

解决方案 »

  1.   

    肯定是view文件夹下。MVC 建立一个项目的时候他里面的模版默认首页是 view下home文件夹下的index.aspx
    如果要自己设置就Global.asax.cs里面配置一下路由下面是默认设置            routes.MapRoute(
                    "Default",                                              // Route name
                    "{controller}.ashx/{action}/{id}",                           // URL with parameters
                    new { controller = "Home", action = "Index",id = ""}  // Parameter defaults
                );
      

  2.   

    我只要要 http//server/ 直接域名访问首页,怎么设置
      

  3.   

    http://www.pxchina.net  这个网站就MVC框架下开发的  直接域名访问也可以访问,输入http://www.pxchina.net/home.ashx/index  也可以访问,两个显示的其实是同一个页面。
      

  4.   

    我直接输入域名显示 目录啊,
                routes.MapRoute(
                     "Dfault",
                     "{controller}/{action}/{id}",
                    new { controller = "Home", action = "Index", id = "" }
                    );这里应该怎么改呀
      

  5.   

    路由也没错啊。你显示的目录是哪个目录?   /home/index ?
      

  6.   


    我的首页Default.aspx里面写了
     <%= Html.Encode(ViewData["Message"]) %>
    总是报未实例化对象,
    如果首页不写调用Controller层的方法,是可以访问的
    如果首页里写<% Response.Redirect("/Home"); %> 是可以实现向4楼那样的,但是我不想这样做我的首页 与Controll层好像有问题
      

  7.   

    Default.aspx 是在哪个位置? Views 外边吧?ViewData是MVC下的的 所以要使用的话,确认你的Default.aspx继承自System.Web.Mvc.ViewPage  就是头部这里<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
    你出错的Default.aspx头部估计类似这样的吧<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %>
      

  8.   

    还有就是新建的MVC项目,根目录下的Default.aspx 一般不怎么修改的。网站的首页就用home 下的index就好。
      

  9.   

    MVC你的路由配置 你还的多学习哈,这是热门技术!
      

  10.   

    Views内有没有Default.aspx 通过http://localhost/浏览都是目录,有没有朋友 发个例子给我看下,要求,1.首页在Views层,
    2.访问首页时,地址栏为域名:http://localhost/ 
      

  11.   

    再加50分程序发到我邮箱:[email protected]
      

  12.   

    用VS2008建立了个默认的MVC项目 发到邮箱了,你直接用VS打开看一看默认的结构就知道了。
      

  13.   

       这个很简单
       你在default.aspx 页面的pageload 里面写一个 
                   Response.Redirect("../home.aspx");
      就ok了
      

  14.   

    将 home/index 映射到 /
      

  15.   

    view里面的home页面   #region Default
           routes.MapRoute(
               "Default",                                  
               "{controller}.mvc/{action}/{id}",                            
                new { controller = "Home", action = "Index", id = "" } );项目中default.aspx    public partial class _Default : Page
        {
            public void Page_Load(object sender, System.EventArgs e)
            {
                Response.Redirect("~/Home");
            }
        }这是我们以前的项目...
      

  16.   

    上面更正一个地方 不是view的home页面 
    而是Global.asax.cs页面
      

  17.   

     我知道Response.Redirect("~/Home"); 但我是想避开这样做的,我不知道这样做会不会影响到网站首页pr值。
    最后谢谢kdalan,发来的文件
    他也是把首页放在views外部,即网站根目录下。自己理想的有点不符,但他没有使用Response.Redirect("~/Home"); 也算可以了。但我还是想弄明白,能不能把首页发在Views层内,通过配置Route,来解决问题
      

  18.   

    那个不是真正的首页。真正的首页在 Views目录home下的index.aspx
      

  19.   

    亮下kdalan的方法:
    在Default.aspx 页面:       string originalPath = Request.Path;
              HttpContext.Current.RewritePath(Request.ApplicationPath, false);
              IHttpHandler httpHandler = new MvcHttpHandler();
              httpHandler.ProcessRequest(HttpContext.Current);
              HttpContext.Current.RewritePath(originalPath, false);
      

  20.   

    晕 那是MVC框架自动生成的。不是我的方法......
      

  21.   

    那段代码把home/index.aspx 内容放到default.aspx,页面了
      

  22.   

    首先,我觉得你要把观念换了。MVC不是传统的webForm  edm(Event Driver Model)模型了。
    其次:MVC页面的访问你要想到MVC的路由(Route)。如何配置路由呢:Global.cs里面已经配置了一个默认的访问viewPage:routes.MapRoute(
               "Default",                                  
               "{controller}.mvc/{action}/{id}",                            
                new { controller = "Home", action = "Index", id = "" } );
    你可以通过改动controller ,或者action 的方式访问你想访问的页