2010-04-10 40 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

相关问题