Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何制作没有文件扩展名的ASPX网页?_Asp.net_Url - Fatal编程技术网

Asp.net 如何制作没有文件扩展名的ASPX网页?

Asp.net 如何制作没有文件扩展名的ASPX网页?,asp.net,url,Asp.net,Url,我注意到stackoverflow.com的页面上没有文件扩展名。我如何使用aspx网站做到这一点?URL实际上并不指向文件。他们使用URL重写规则将URL转换为数据库查询,并将输出反馈到指定页面(其URL未显示) 编辑:进行澄清 SO使用MVC,因此url指向特定的控制器操作(带或不带参数,取决于页面)。该操作运行一些代码来获取数据或其他内容,并将其传递到相应的视图,该视图基本上是一个html模板,用于填充操作提供的信息并呈现页面。 他们使用MVC,这里有一篇来自Scott Guthrie的精

我注意到stackoverflow.com的页面上没有文件扩展名。我如何使用aspx网站做到这一点?

URL实际上并不指向文件。他们使用URL重写规则将URL转换为数据库查询,并将输出反馈到指定页面(其URL未显示)

编辑:进行澄清 SO使用MVC,因此url指向特定的控制器操作(带或不带参数,取决于页面)。该操作运行一些代码来获取数据或其他内容,并将其传递到相应的视图,该视图基本上是一个html模板,用于填充操作提供的信息并呈现页面。


他们使用MVC,这里有一篇来自Scott Guthrie的精彩文章:


它涵盖了所有场景:IIS 6、IIS7、使用第三方URL重写工具等。

堆栈溢出使用ASP.NET MVC,它可以立即清除URL

基本上,您需要的是一种将干净的URL映射到一个标准的.NET URL,并将额外的“目录”作为参数传入。e、 g.重写/blog/post no one to/blog.aspx?id=post no one

新的IIS有一个重写插件,如果您想使用传统的ASP.NET执行此操作,它将为您执行此操作:

或者您也可以通过覆盖HttpModule并在其中进行重写来实现自己的功能。下面是一个复杂的例子:


正如一些人提到的,使用MVC附带的URL路由引擎也是如此。他们实际上已经通过CodePlex提供了代码,因此您可以在基于webforms的ASP.NET站点中使用它

Phil Haack对如何做到这一点有一个很好的总结:


它包括一些示例、链接等,这些应该有助于您入门。

如果您仍然想使用ASP.Net而不使用MVC路由(MVC非常棒,顺便说一句),您可以使用HTTP处理程序路由请求


嗯。某种程度上。它实际上调用一个控制器操作方法,该方法可能执行db查询并呈现与url相关的特定视图。这怎么可能是可接受的答案?这完全是胡说八道。:)