2012-02-28 41 views
-1

我正在使用C#和sql數據庫。在數據庫中存儲有關項目的信息 - ID,名稱等。如何保存具有唯一名稱的頁面?

現在我有一個頁面來顯示項目,我用作模板並將項目ID傳遞到像/Item.aspx?id=223這樣的URL中。 我想爲每個項目創建頁面並將它們保存到/Items/Red-Book.aspx文件夾中。 有什麼建議嗎?

謝謝,沃爾特

+0

問題是模糊的,你問如何重寫網址嗎?因此,而不是querystring中的id參數,您希望看到產品名稱? – markpsmith 2012-02-28 12:57:55

+0

看這個https://www.google.com/search?q=asp.net+rewrite+url – Aristos 2012-02-28 13:15:59

回答

0

您不需要物理保存頁面。您只需要一個頁面Item.aspx,它將根據您提供的ItemIId生成內容。 (與你在問題中解釋的方式相同)

擁有此頁面後,您需要了解如何重新編寫URL。

URL重寫的重點在於它需要用戶請求的URL並將其重寫爲其他內容。

如果用戶請求/Items/Red-Book.aspx的URL將被rewrited到/Item.aspx?id=223和你將ASP.NET將加載/Item.aspx?id=223回給客戶。

您可以使用該方法RewritePath你可以在打電話的Application_BeginRequest重寫您URL.The邏輯將是如下:

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    var currentPath = HttpContext.Current.Request.Path; 
    // do some logic to generate newPath 
    var newPath = GetNewPath (currentPath); 
    HttpContext.Current.RewritePath(newpath); 
    // after this point ASP.NET will work as the user would have requested newpath 
} 
相關問題