首页 新闻 赞助 找找看

asp.net mvc问题

0
悬赏园豆:30 [已关闭问题]

虚拟主机是IIS6,要运行我的MVC出现404错误,是IIS6需要配置一下才行,但是我没有权限修改IIS配置,现在IIS7的主机几乎没有,我要怎么办啊?

AssionSoft的主页 AssionSoft | 初学一级 | 园豆:0
提问于:2009-01-06 10:47
< >
分享
其他回答(4)
1

那你就要想法把你的URL的结尾都加上.axd等,交给aspnet处理。不知道你说的是不是这个问题

GUO Xingwang | 园豆:3885 (老鸟四级) | 2009-01-06 13:22
0

你翻下Scott的blog,有一篇推荐了一篇文章讲如何配置在iis6下运行mvc的

生鱼片 | 园豆:5757 (大侠五级) | 2009-01-06 14:03
0

xuexi

Jared.Nie | 园豆:1940 (小虾三级) | 2009-01-06 14:25
0

那是因为访问空目录时,IIS会先处理掉,不会交给ASP.NET处理的原因。

你可以变通一下,把所有的域名的扩展名改为.aspx:

http://yoursite/controler/action/123.aspx

就可以顺利由ASP.NET处理

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-01-06 15:24
0
<!--在Web.config中添加下面的内容,value为你的服务器IIS的版本-->
<
appSettings>
<clear />
<add key="IISVersion" value="6" />
</appSettings>

 

<!--然后在Global.asax.cs文件中,添加下面的处理代码试试-->
public
static void RegisterRoutes(RouteCollection routes)
{
int iisVersion = Convert.ToInt32(ConfigurationManager.AppSettings["IISVersion"]);

if (iisVersion >= 7)
{
RegisterRoutesForNewIIS(routes);
}
else
{
RegisterRoutesForOldIIS(routes);
}
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
//SystemInitial();

}
private static void RegisterRoutesForNewIIS(RouteCollection routes)
{
routes.IgnoreRoute(
"{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
routes.MapRoute(
"Topic", "{controller}/{action}/{id}");
}

private static void RegisterRoutesForOldIIS(RouteCollection routes)
{
routes.IgnoreRoute(
"{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Default", // Route name
"{controller}.mvc/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);

routes.MapRoute(
"Topic", "{controller}.mvc/{action}/{id}");
}
上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2009-01-06 18:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册