【问题标题】:Url changed but content not网址已更改,但内容未更改
【发布时间】:2017-12-28 07:59:15
【问题描述】:

我已通过 asp.net 网络表单中的 url 路由更正了我的网站的 url。 现在页面网址是: 例如产品; 地点 。 com/product/101/pc 显示的内容是电脑的内容。 如果我把它改成 地点 。 com/product/101/嗨 显示的内容是 pc 的页面。 因为 101 是 pc 在数据库中的 id。 现在我想如果 pc 更改了 url 但仍然是 101,自动重定向到 id 所指的页面。请帮助我

【问题讨论】:

    标签: asp.net url url-routing


    【解决方案1】:

    我不明白你的实际问题是什么 但我已经使用带有发送 ID 的 URL 路由,它对我来说工作正常 让我给你看我的代码

     public static void UrlRouting(RouteCollection RC, string RoutName, string routeUrl, string Page)
        {
            RC.MapPageRoute(RoutName, routeUrl, Page);
        }
    

    使用这个函数在global.ascx中进行路由

    protected void Application_Start(object sender, EventArgs e)
            {
       UrlRouting(RouteTable.Routes, "Showproduct", "product/{productID}", "~/products.aspx");
            }
    

    &然后获取product.aspx上productID的值

       if (RouteData.Values["productID"] != null){
              string  productID= RouteData.Values["productID"].ToString();
    //Use your query here and assign this product ID to Your column 
    }
    

    如果您使用的是 html 锚标记,那么您应该使用 resolveUrl 函数,例如

    <a href='<%# ResolveUrl("~/product/"+Eval("YourProductIDColumn")) %>'>ProductNam</a> 
    

    &如果你是从后面的代码重定向页面,那么就这样使用

    Response.RedirectToRoute("Showproduct", new { productID = yourProductIDValue });
    

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-09
      • 2020-05-04
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      相关资源
      最近更新 更多