我正在使用asp.net gridview來顯示mdb文件中的數據列表。有5列顯示,約240行數據。每行顯示「名」,「姓」,「標題」,「流派」,「問題」和「身份證號碼」如何從ASP.Net gridview列字段鏈接到.aspx頁面
每個「標題」條目都有相應的.aspx頁面。 aspx頁面對應於網格中的「標題」條目 這種關係的示例如下所示:title =「從前有一段時間處於長篇故事中」; aspx頁面可能是/alongstory.aspx。
我要實現什麼目標:讓用戶單擊格,開放相應的.aspx頁標題字段
什麼我迄今所做的:在「標題」字段中創建一個aspLabel - 文本=」 < %#Eval(「Title」)%>';並添加對於標籤加載事件的C#代碼:
aspLabel l = sender as aspLabel;
l.ClientsideEvents.Click = String.Format("function(s,e) {{window.location = \"{0}"; }}, GetPageUrl(l));
而且GetPageUrl:
Private string GetPageUrl(aspLabel l)
{GridViewDataItemTemplateContainer c = l.NamingContainer as GridViewDataItemTemplateContainer:
var value = (string)DataBinder.Eval(c.DataItem, "Title");
string result;
switch (value) {
case "in the mirror":
result = "AnotherTitlePage.aspx";
break;
case "When your Eyes":
result = "AnotherTitlePage2.aspx";
break;
case "Her Delivery":
result = "ATitlePage1.aspx";
break;
case "You Never Know What You Might See":
result = "TitlePage3.aspx";
break;
default:
result = "TitlePageDoesNotHavesameNameAsDBEntry.aspx";
break;
}
return Page.ResolveUrl(result);
}
雖然這個工作,它要求所有的標題被硬編碼到相應的select語句與corrosponding URL,這相當於240沿案例!此外,唯一標識每行的唯一字段是「id」值,它是一個整數 - 我試圖設置一個case來爲int設置一個選擇並返回正確的url(鑄造錯誤是問題)。
我希望什麼來完成: 尋找最快捷的方式打開了點擊corrosponding網址上的網格視圖的「標題」字段中沒有硬編碼無論是從網格列字段名稱和網址進入案例選擇。
因此,考慮到上面的信息,選擇一個案例是否是這個要求的最佳方法? 任何更好的方法的例子或建議將不勝感激!