将一个asp web控件作为命令参数传递

本文关键字:控件 命令 参数传递 web asp 一个 | 更新日期: 2023-09-27 18:11:57

在我的web应用程序中,我有一系列的ImageButtons。当点击这些ImageButton时,被点击的ImageButton需要改变它的图像。

我想要一个OnClick方法,执行其操作的ImageButton被点击。以下是我到目前为止的尝试:ASP。NET代码:

<asp:ImageButton ID="ImageToChange1" runat="server" OnClick="ChangeImage" CommandArgument="ImageToChange1"/>
<asp:ImageButton ID="ImageToChange2" runat="server" OnClick="ChangeImage" CommandArgument="ImageToChange2"/>
<asp:ImageButton ID="ImageToChange3" runat="server" OnClick="ChangeImage" CommandArgument ="ImageToChange3"/>

对于我的c#代码,我想做如下的事情:

public void ChangeImage(object sender, CommandEventArgs e)
{
    e.CommandArgument.ImageUrl = "~/Images/Penguins.jpg";
}

我想知道是否有比使用"OnClick"事件更合适的方法来做到这一点,或者我是否可以通过操纵"e"或"sender"来实现这一点。如有任何见解,我将不胜感激。谢谢你。

将一个asp web控件作为命令参数传递

在您的ChangeImage中,您可以获得如下所示的CommandArgument和控件

public void ChangeImage(object sender, CommandEventArgs e)
{
      ImageButton imageButton = sender as ImageButton;
      string imageToChange = e.CommandArgument;
      //Then you can assign the appropreate image
      imageButton.ImageUrl = "~/Images/Penguins.jpg";
}