#c# #asp.net #webforms
#c# #asp.net #веб-формы
Вопрос:
Так что пока это хорошо работает для меня, но я не хочу создавать новый метод для каждого изображения на странице. Как мне получить контрольную «карточку» в методе codebehind при его вызове, чтобы я мог использовать один и тот же метод для каждой кнопки изображения. Есть ли лучший способ сделать это? Все, что я хочу, это повернуть изображение на 90 градусов при нажатии и при повторном нажатии повернуть изображение обратно. Проблема в том, что я хочу использовать только один метод, который будет вращать любое изображение.
protected void Card_Click(object sender, ImageClickEventArgs e)
{
if (Card.CssClass == "rotate90Large")
{
Card.CssClass = "";
}
else
{
Card.CssClass = "rotate90Large";
}
}
.aspx
<style type="text/css">
.rotate90Large{-ms-transform: rotate(90deg); margin-left:45px; }
</style>
<asp:ImageButton ID="Card" ImageUrl="Graphics/image.jpg" runat="server" onclick="Card_Click" />
Ответ №1:
Приведения отправителя должно быть достаточно, и вы можете подписаться на все кнопки изображения на одно и то же событие щелчка, в вашем случае Card_Click
protected void Card_Click(object sender, ImageClickEventArgs e)
{
ImageButton img = (ImageButton)sender;
if (img.CssClass == "rotate90Large")
{
img.CssClass = "";
}
else
{
img.CssClass = "rotate90Large";
}
}
Ответ №2:
Итак, напишите функцию, которая принимает изображение в качестве параметра, поворачивает его и возвращает в качестве возвращаемого значения …. ?? Затем вызовите эту функцию, передавая любое изображение, которое вы хотите повернуть.
Возможно, даже создайте его как метод расширения
Комментарии:
1. Как вы принимаете изображение в качестве параметра в методе кнопки On_Click image. Это мой вопрос.