Общий поворот изображений

#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. Это мой вопрос.