说URL的部分我有3个版本的网站:A,B和C.我想我的网址,以这样的形式:如何自动包括与Asp.Net MVC
{siteType}/{controller}/{action}/{id}
其中siteType
等于a
,b
或c
。
当用户在网站的A版本中时,他们应该呆在那里;因此所有生成的网址都应具有a
的siteType。同样,对于B和C.
我不想在生成URL时明确指定siteType
- 我希望它自动生成。此外,siteType
参数将永远只用于一个地方 - 在基本控制器类中被忽略的RenderView
方法 - 它将使用siteType参数为该版本的网站挑选出正确的视图,CSS等。因此我对siteType
没有兴趣作为我的行为的一个论据。只有RenderView
方法需要访问它。
达到此目的的最佳方法是什么?
是的,但重点是我不希望将siteType添加到每个ActionLink或生成的任何其他URL。由于它在任何地方完成,我应该能够自动添加到一个地方。 – darasd 2009-08-27 08:27:20
您不必通过“手动”将siteType添加到每个网址。在默认例程中设置一次,它将被添加。如果您想在siteType之间切换,那么您必须将siteType添加到该操作链接。 我的所有链接都是这样的:<%= Html.ActionLink(“Linktext”,“Action”,“Controller”%>除了切换语言的链接之外,动态链接呈现链接并自动添加siteType为: Linktext – griti 2009-08-27 08:56:40
你知道吗,我认为你是对的!它似乎是自动添加的,如果没有明确添加到例如ActionLink中,它会自动添加当前url的值而不是默认值。 – darasd 2009-08-27 10:15:31