2012-05-16 53 views
0

我有我的網站的用戶的一些記錄,如名稱,電子郵件,地址等數據庫我已經創建了一個頁面使用ASP.net(C#),它可以以排列的方式顯示用戶的信息。當任何人從列表中點擊用戶名時,我想顯示該頁面的信息。我如何在頁面中添加參數?這樣我就可以使用名稱或ID鏈接列表中的用戶名從數據庫中獲取數據。如何添加參數到ASP.net頁面

我所試圖做的是這樣的:

example.com/userpage.aspx/XYZ 

回答

3

您可以使用查詢字符串參數:

example.com/userpage.aspx?id=XYZ 

訪問使用QueryString集合的請求的服務器上的ID object:

string id = Request.QueryString["id"]; 
+0

+1,謝謝它完美的作品。 –

2

我想你會想用ASP.NET Routing engine參與並將其路由到一個參數。

你可以設置你的路線,像example.com/page.aspx?id=xyz等於example.com/page/xyz代替

1

如果使用的是經典的ASP.NET,那麼你必須按照Xander的建議將參數傳遞給查詢字符串。 ASP.NET正確解析參數後?你可以通過Request [「parameterName」]訪問它們。

但是,如果你想像你張貼的「用戶友好的網址」,那麼你需要一些機制,以改善用戶友好的網址到系統的網址。

所有的
  • 首先,你可以用IIS7 URL重寫模塊或任何3D方網址 重寫模塊。通常它是基於正則表達式和可重寫 URL /用戶/ XYZ到/Users.aspx?name=XYZ

  • 您也可以使用相對較新的技術,ASP.NET Rounting引擎 像瑞恩建議。

  • 如果你的url方案很複雜,你不能用 正則表達式來描述它,那麼你可以編寫你自己的HTTP模塊並且執行一些自定義的重寫規則。

如果您Users.aspx.cs頁面,您可以讀取請求[「名稱」]查詢參數,並使用它的值來執行一些SQL查詢(或任何你YSE訪問數據庫)

0

如果您使用的是GridView,您只需將OnRowCommand事件附加到它上面,然後單擊鏈接就可以傳遞您想要在頁面上顯示的UserID名稱。