asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 具有ASP.NET MVC的多语言网站大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当建立一个多语言网站(使用ASP.NET Web表单)时,我将使用http模块来重写URL,最终得到一些友好的(对于人类和搜索引擎),如:
uk/products/product_category_one/sub_category_one/index.aspx
uk/products/product_category_one/sub_category_one/widget_mk5.aspx
es/productos/categoría_de_producto_una/widget_mk5.aspx

我的(新手)对MVC的理解是URL应该采用格式

所以用MVC复制上面的功能最终会出现类似于以下的URL:

products/category/123/product_category_one/sub_category_one
products/items/456/widget_mk5

问题..

>我可以在“控制器”段之前的URL中插入国家/地区代码吗?
>可以将“产品”和“产品”映射到同一控制器吗?

谢谢你的帮助

编辑:
除了Panos在下面的答案之外,我还发现了更多关于ASP.NET Website的信息.

解决方法

该网址可以采用您喜欢的几乎任何其他形式.有关更多信息,请查看 ASP.NET MVC Framework (Part 2): URL Routing.只是为了启动(由于我不确定它是否是最佳解决方案),您可以在global.asax中添加两条新路由:
routes.MapRoute(
            "ukRoute","{lang}/Products/{action}/{iD}/{subcategory}",new { lang = "uk",controller = "Products",action = "Index",id = "",subcategory = "" }
        );
        routes.MapRoute(
            "esRoute","{lang}/Productos/{action}/{iD}/{subcategory}",new { lang = "es",subcategory = "" }
        );

这些路径了解以下URL(并将它们映射到ProductsController的ActionResult类别(字符串ID,字符串子类别)方法):

uk/Products/Category/1/A
es/Productos/Category/1/A

如果您想在视图中创建这样的URL,您可以使用以下内容:

<%= Html.RouteLink("English 1.A","ukRoute",action = "Category",id = "1",subcategory = "A" })%>
<%= Html.RouteLink("Spanish 1.A","esRoute",subcategory = "A" })%>

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – 具有ASP.NET MVC的多语言网站全部内容,希望文章能够帮你解决asp.net-mvc – 具有ASP.NET MVC的多语言网站所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。