通过asp:LinkBut​​ton更新asp:SqlDataSource参数

时间:2010-04-10 21:28:45

标签: c# asp.net sqldatasource linkbutton

我会尝试解释我能做的最好的事情,但我对asp.net很陌生,所以请耐心等待。

我有一个SqlDataSource,它使用@COURSE_ID

基于WHERE子句返回一个简单的select语句

我想要做的是每次2中的任何一个(这将随着它的生成而改变)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 Chapter 在哪里Chapter.courseID = @COURSE_ID “&GT;                                                                        

C#     protected void MenuUpdate_Click(object sender,EventArgs e)     {

    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();

}

如果有人有任何好的建议,我整晚都在尝试很多不同的事情而没有成功:(

由于

1 个答案:

答案 0 :(得分:0)

尝试设置链接按钮ID以包含课程名称(我不认为ID可能以数字开头,所以给它们ID“crs”然后是课程名称)。在按钮的单击事件中,提取发件人的ID并在“crs”之后获取整个字符串。这是被点击的链接按钮的课程名称。

如果“COURSE_ID”是SelectCommand的唯一参数,我会先亲自清除所有参数。它只是确保你没有来自其他地方的任何参数。这就是我工作的方式 - 清除所有内容并重新输入任何不应该被清除的东西,然后输入任何额外的东西。

此致