将一个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"来实现这一点。如有任何见解,我将不胜感激。谢谢你。
在您的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";
}