求救,怎么设置MVC首页
求救,怎么设置MVC首页,1.要 http//:server/ 访问这种形式的
2.如果这样,首页到底放在哪呀,在Views文件夹下吗??
--------------------编程问答-------------------- 肯定是view文件夹下。MVC 建立一个项目的时候他里面的模版默认首页是 view下home文件夹下的index.aspx
如果要自己设置就Global.asax.cs里面配置一下路由下面是默认设置
--------------------编程问答-------------------- 我只要要 http//server/ 直接域名访问首页,怎么设置 --------------------编程问答-------------------- 默认设置就能直接用域名访问首页的。 --------------------编程问答-------------------- http://www.pxchina.net 这个网站就MVC框架下开发的 直接域名访问也可以访问,输入http://www.pxchina.net/home.ashx/index 也可以访问,两个显示的其实是同一个页面。 --------------------编程问答-------------------- 我直接输入域名显示 目录啊,
routes.MapRoute(
"Default", // Route name
"{controller}.ashx/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index",id = ""} // Parameter defaults
);
routes.MapRoute(
"Dfault",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
这里应该怎么改呀 --------------------编程问答-------------------- 路由也没错啊。你显示的目录是哪个目录? /home/index ? --------------------编程问答--------------------
我的首页Default.aspx里面写了
<%= Html.Encode(ViewData["Message"]) %>
总是报未实例化对象,
如果首页不写调用Controller层的方法,是可以访问的
如果首页里写<% Response.Redirect("/Home"); %> 是可以实现向4楼那样的,但是我不想这样做
我的首页 与Controll层好像有问题 --------------------编程问答-------------------- 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" %> --------------------编程问答-------------------- 还有就是新建的MVC项目,根目录下的Default.aspx 一般不怎么修改的。网站的首页就用home 下的index就好。 --------------------编程问答--------------------
一楼正解 --------------------编程问答-------------------- MVC你的路由配置 你还的多学习哈,这是热门技术! --------------------编程问答--------------------
Views内有没有Default.aspx 通过http://localhost/浏览都是目录,
有没有朋友 发个例子给我看下,要求,
1.首页在Views层,
2.访问首页时,地址栏为域名:http://localhost/ --------------------编程问答-------------------- 再加50分
程序发到我邮箱:763429951@qq.com --------------------编程问答-------------------- 用VS2008建立了个默认的MVC项目 发到邮箱了,你直接用VS打开看一看默认的结构就知道了。 --------------------编程问答-------------------- 这个很简单
你在default.aspx 页面的pageload 里面写一个
Response.Redirect("../home.aspx");
就ok了 --------------------编程问答-------------------- 将 home/index 映射到 / --------------------编程问答-------------------- 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");
}
}
这是我们以前的项目... --------------------编程问答-------------------- 上面更正一个地方 不是view的home页面
而是Global.asax.cs页面 --------------------编程问答-------------------- 我知道Response.Redirect("~/Home"); 但我是想避开这样做的,我不知道这样做会不会影响到网站首页pr值。
最后谢谢kdalan,发来的文件
他也是把首页放在views外部,即网站根目录下。自己理想的有点不符,但他没有使用Response.Redirect("~/Home"); 也算可以了。
但我还是想弄明白,能不能把首页发在Views层内,通过配置Route,来解决问题
--------------------编程问答--------------------
那个不是真正的首页。真正的首页在 Views目录home下的index.aspx --------------------编程问答-------------------- 亮下kdalan的方法:
在Default.aspx 页面:
string originalPath = Request.Path;--------------------编程问答-------------------- 晕 那是MVC框架自动生成的。不是我的方法...... --------------------编程问答-------------------- 那段代码把home/index.aspx 内容放到default.aspx,页面了 --------------------编程问答-------------------- 首先,我觉得你要把观念换了。MVC不是传统的webForm edm(Event Driver Model)模型了。
HttpContext.Current.RewritePath(Request.ApplicationPath, false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
HttpContext.Current.RewritePath(originalPath, false);
其次:MVC页面的访问你要想到MVC的路由(Route)。如何配置路由呢:Global.cs里面已经配置了一个默认的访问viewPage:routes.MapRoute(
"Default",
"{controller}.mvc/{action}/{id}",
new { controller = "Home", action = "Index", id = "" } );
你可以通过改动controller ,或者action 的方式访问你想访问的页
补充:.NET技术 , ASP.NET