2010-04-22 44 views
2

我覺得有點尷尬,發佈了兩個與同一問題有關的問題,但第一個問題最終回答了一個我認爲與解決方案無關的問題,因此我將其留下並概述了什麼我試圖完成與有人可以幫助.net noob的希望。將DropDownList中的數據包含到Gridview中

我需要做的是在我的gridview中創建一個包含傳遞兩個變量的鏈接的字段。一個是從gridviews數據源中提取的,另一個需要從gridview之外的文本框控件中提取。

從我讀到目前爲止,您不能使用一個超鏈接字段作爲datanavigateurlfields不能設置從任何東西,但gridview的數據源拉。

我試圖做的是創建一個模板領域,其中在ItemTemplate我叫:

<a href="example.aspx?e=<%# Eval(ExampleList.SelectedItem.Value) %>">Test</a> 

與這樣的錯誤回來:

DataBinding: 'System.Data.DataRowView' does not contain a property with the value 'TestData' 

任何線索要做到這一點將不勝感激,就像我說我對.Net很新,所以請溫和。在發佈之前,我試圖做我的功課。

回答

2

如何在您的GridView模板列中添加超鏈接服務器控件如下。

<asp:Hyperlink id="hyperlink" runat="server" onDataBinding="hyperlink_DataBinding" text="Click ME" /> 

然後在你的代碼背後的超級鏈接添加此數據綁定事件。

protected void hyperlink_DataBinding(object sender, EventArgs e) { 
    HyperLink link = (HyperLink) sender; 
    string param1 = Eval("field").ToString(); 
    string param2 = ExampleList.SelectedItem.Value; 
    link.NavigateUrl = "example.aspx?e=" + param1 + "&f=" + param2; 
} 
+0

我假定行 string param = Eval(「 2010-04-22 20:06:22

+0

因此,如果你的gridview數據源是一個DataTable或DataSet,它將是該列的字段名稱。如果它是一個自定義對象,它將是該屬性的名稱。 – Germ 2010-04-22 20:15:31

+0

我想我在那裏看到你的編輯。這使我對事情更加清楚。我很感謝Germ的幫助! – 2010-04-22 20:16:49

相關問題