【问题标题】:ASP.net Routing and GlobalizationASP.net 路由和全球化
【发布时间】:2011-12-03 11:02:31
【问题描述】:

以下文件:

~/Admin/Dashboard.aspx
~/Admin/Welcome.aspx

被路由为

administrator/{culture}/dashboard/
administrator/{culture}/welcome/
administrator/dashboard/ (for invariant culture)
administrator/welcome/ (for invariant culture)

站点地图

/administrator/dashboard/
/administrator/welcome/

站点地图中的信息被加载到树形控件中。

场景

用户从保存在会话中的列表控件中选择法语作为所需语言。

问题

如何在导航(树形控件)中体现变化?

administrator/fr/dashboard/
administrator/fr/welcome/

我正处于基页类的 InitializeCulture() 事件的中间。我本可以使用 Response.Redirect 并执行丑陋的查找并替换树的数据绑定事件,但这一定不是正确的方法。

评论不胜感激。

【问题讨论】:

    标签: asp.net routing navigation sitemap globalization


    【解决方案1】:

    好问题。站点地图和 url 重写(路由)效果不佳。

    [1] 实现一个可以将页面路径作为参数并返回正确的url重写路径的方法:

    GetUrl('/Admin/Dashboard.aspx') 这将根据 url 参数和不变的文化等返回字符串 url。

    [2] 在站点地图中使用普通网址。 /Admin/Dashboard.aspx

    [3] 当你绑定树时,你需要使用GetUrl 方法来更新你的url。

    如果您使用的是站点地图路径,则以同样的方式处理。

    这就是我在大多数项目中的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多