好吧所以我创建了这个母版页文件,并在其Page_PreInit中添加了代码,以便在检测到访问者的国家/地区后的运行时更改母版页: -
现在,在研究时我遇到了这个帖子,说“在Page_PreInit事件中设置母版页是违反MVC的设计和精神的......这应该是什么意思???
如果不是这样,我怎么能在运行时改变母版页?
答案 0 :(得分:1)
我只能通过MVC的“精神”来猜测线程的作者是什么意思。 MVC就像您工具包中的任何其他工具一样。有更好的方法可以使用工具以及滥用工具的方法。
我认为答案取决于母版页中的内容。更具体地说,各个国家之间有什么不同。如果它主要是布局,徽标,颜色和其他样式的问题,那么通过注入基于国家/地区的不同样式表,可以在您的CSS中更好地处理。
如果它更多地与内容和语言有关,那么您应该退一步检查您的路由策略。一种常见的方法是在网址中包含国家/地区代码。例如:domain.com/UK/product/1或domain.com/DE/product/1
要看的另一件事是MVC Areas。虽然它通常用于站点的功能不同的部分,但我已经看到用于沿文化/国家边界划分站点的区域取得了一些成功。当不同国家/地区站点之间存在较大的功能差异时,这通常会更好。