0

我会尽力解释我正在做的最好的事情,但我对 asp.net 还是很陌生,所以请耐心等待。

我有一个 SqlDataSource,它使用 @COURSE_ID 返回一个基于 WHERE 子句的简单选择语句

我想要做的是每次 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

来自章节 WHERE Chapter.courseID = @COURSE_ID ">

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

}

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

谢谢

4

1 回答 1

0

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

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

问候,

富有的

于 2010-04-10T22:48:38.313 回答