2010-04-10 36 views
0

我會盡力解釋我正在盡我所能,但我對asp.net很新,所以請耐心等待。更新asp:SqlDataSource參數通過asp:LinkBut​​ton

我有一個SqlDataSource返回使用@COURSE_ID

我想什麼做的是2任何一個每次基於WHERE子句簡單的SELECT語句(因爲這將是產生這種情況將會改變) asp:LinkBut​​tons被按下時,他們會改變@COURSEID值,我想與特定的按鈕關聯。

按鈕:

<asp:LinkButton ID="LinkButton2" runat="server" onclick="MenuUpdate_Click">Course1</asp:LinkButton> 
<asp:LinkButton ID="LinkButton1" runat="server" onclick="MenuUpdate_Click">Course2</asp:LinkButton> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:connString %>" SelectCommand="SELECT Chapter.chapterName, Chapter.chapterID 

FROM章 WHERE Chapter.courseID = @COURSE_ID 「>

C# 保護無效MenuUpdate_Click(對象發件人,EventArgs的) {

Parameter p = SqlDataSource1.SelectParameters["COURSE_ID"]; 
    SqlDataSource1.SelectParameters.Remove(p); 
    SqlDataSource1.SelectParameters.Add("COURSE_ID", THIS NEEDS TO BE VALUE ASSOCIATED TO BUTTON); 
    ListView1.DataBind(); 
    UpdatePanel1.Update(); 

} 

如果任何人有那簡直太好了任何建議,我一直在嘗試很多不同的東西了一夜,但沒有成功:(

感謝

+0

只是爲什麼我這樣做是有原因的。最初,它是所有頁面,使用查詢字符串參數做sql查詢。 現在我試圖在一個頁面中使用UpdatePanel和asp:listview來完成所有操作,其中基於數據庫中的值生成菜單。 – Mattec 2010-04-10 21:49:18

回答

0

嘗試設置LinkBut​​ton的標識包含課程名稱(我不認爲它可能以ID開頭,所以給他們ID「crs」,然後課程名稱)。在按鈕的點擊事件中,提取發件人的ID並在「crs」後面輸入整個字符串。這是被點擊的鏈接按鈕的課程名稱。

此外,如果「COURSE_ID」是SelectCommand的唯一參數,我將首先清除所有參數。它只是確保你沒有任何其他參數。這就是我工作的方式 - 清除一切,重新輸入任何不應該被清除的東西,然後輸入任何額外的東西。

問候,

豐富

+0

感謝Rich,我會在早上給它一個破解,並讓你知道我是怎麼開始的。 – Mattec 2010-04-11 00:29:10

+0

另一件事 - 我不知道你是否也需要調用「SqlDataSource1.Select()」..它可能是ListView自己做的,但我從來沒有使用過,所以不知道。 – ClarkeyBoy 2010-04-11 10:33:43

+0

你可以更好地使用TagName而不是id – Amsakanna 2010-04-11 10:43:24

相關問題