0

コードビハインドでアンカーを作成し、アンカーごとにボタンを削除しようとしています。データベースから指定された行を削除できるように、ID を持つリンクごとにイベント ハンドラーを呼び出すことができるかどうかわかりません。これは私がやったことです。アンカーと ASP ボタンを作成しましたが、その ImageID で呼び出す方法がわかりません。出来ますか?もしそうなら、どのように?よろしくお願いします!これはC#、asp.netにあります。

 HtmlAnchor apdf = new HtmlAnchor();
 apdf.ID = Guid.NewGuid().ToString("N");
 string ImageID = "";
 if (dsreport != null && dsreport.Tables[0].Rows.Count > 0)
 {
      apdf.InnerText = dsreport.Tables[0].Rows[0]["ImageName"].ToString();
      apdf.Attributes.Add("style", "font-weight: bold; font-size: 13px; margin: 0px;    font-family: Arial; color: #1e7c9b; text-decoration: underline");
      apdf.Target = "_blank";
      ImageSalesID = dsreport.Tables[0].Rows[0]["ImageID"].ToString();
      apdf.HRef = "PDFdownload.aspx?ID=" + ImageID;

 }   
 Button btnDelete = new Button();
 btnDelete.ID = Guid.NewGuid().ToString("N");
 btnDelete.OnClick += Eventhandler;
 btnDelete.Text = "Delete";
4

2 に答える 2

2

これが何らかの形で役立つことを願っています

 Button btnDelete = new Button();
    btnDelete.Click += new EventHandler(button_Click);

    protected void button_Click (object sender, EventArgs e)
    {
        Button button = sender as Button;
        string buttonid = button.ID.ToString()
        // identify which button was what row to update based on id clicked and perform necessary actions
    }
于 2012-04-18T21:54:01.727 に答える
0

私が収集できることから、あなたはボタンを押してから、そのボタンに関連するものを削除したいと考えています。この場合CommandArgument、ボタンでプロパティを使用することをお勧めします。CommandNameまた、発生するアクションのタイプを決定するのに役立つ を指定することもできます。簡単な例を次に示します。

<asp:Button ID="btnDelete" runat="server" CommandName="DeleteRow" CommandArgument="1" Text="Delete Row 1" OnClick="DeleteRow" />
<asp:Button ID="btnDelete" runat="server" CommandName="DeleteRow" CommandArgument="2" Text="Delete Row 2" OnClick="DeleteRow" />
<asp:Button ID="btnDelete" runat="server" CommandName="DeleteRow" CommandArgument="3" Text="Delete Row 3" OnClick="DeleteRow" />

3 つのボタンはすべて同じイベントをトリガーします。次に、実際のイベント自体の中で、コマンド引数が送信者にあったものをButton、のようにキャストすることで確認できます。

protected void DeleteRow(object sender, EventArgs e)
{
    var buttonClicked = sender as Button;
    var rowId = buttonClicked.CommandArgument;
    var action = buttonClicked.CommandName;

    // do something depending on the action and the argument
}

お役に立てれば。:)

于 2012-04-18T22:25:16.943 に答える