0

私ができる限り最善を尽くしていることを説明しようとしますが、私はasp.netにかなり慣れていないので、しばらくお待ちください。

@COURSE_ID を使用して WHERE 句に基づいて単純な選択ステートメントを返す SqlDataSource があります

私がやりたいのは、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 WHERE Chapter.courseID = @COURSE_ID ">

C# protected void MenuUpdate_Click(オブジェクト送信者, 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 に答える