Как добавить изображение с помощью css в asp mvc 2?

#javascript #asp.net-mvc-2 #html.actionlink

#javascript #asp.net-mvc-2 #html.actionlink

Вопрос:

Я хочу добавить интерактивное изображение с использованием класса css в тег привязки в приложении asp mvc 2 и оставить раздел URL пустым (поскольку у меня есть код javascript для загрузки всплывающего окна на основе идентификатора, присвоенного тегу привязки).

В настоящее время мой код :

 <%= Html.ImageActionLink(null, null, "~/UI/Forms/Css/Images/get-reservation.png", null, new { @Id = "getReservation" }, new { @Class = "image" })%>
  

Информация: Я добавил идентификатор, поскольку я использую javascript для загрузки всплывающего окна при нажатии на getReservation id. Класс image просто добавляет дополнение.

текущий код css :

 .image
{
   padding-left: 10px;  
}
  

Чего я хочу:

Чтобы удалить приведенный ниже путь из моего помощника ImageActionLink

«~/UI/Forms/Css/Images/get-reservation.png»

и определите класс css:

 .get-reservation
{
background: url('images/get-reservation.png') no-repeat center;
height: 20px;
width:20px;
}
  

и сделайте что-то вроде этого:

 <%= Html.ActionLink("#", null, new { @Class = "get-reservation image" }, new { @Id = "getReservation" })%>
  

Но то, что я получаю в браузере, выглядит примерно так: (И изображение не появляется.)

введите описание изображения здесь

Ожидаемый результат:

введите описание изображения здесь

Приветствуется любая помощь.

Спасибо

Ответ №1:

Использование ActionLink в этом случае не требуется, просто используйте обычное изображение или div

 <div class="get-reservation image" id="getReservation"></div>
  

Вы можете добавить это в стиль, чтобы сделать его больше похожим на ссылку:

 border: none;
cursor: pointer; /* hand cursor */
  

Наконец, когда вы выбираете его для добавления обработчика щелчков, если вы использовали $('a.get-reservation') изменение на $('div.get-reservation') или просто $('.get-reservation')

Комментарии:

1. Помощники полезны для динамических элементов, этот — статический, поэтому вам действительно не стоит их использовать

Ответ №2:

Я думаю, вам следует это сделать:

 <%= Html.ActionLink("", "#", null, new { @Id = "getReservation", @Class = "get-reservation image" })%>
  

Обратите внимание, что первым параметром является отображаемый текст, вот почему раньше на экране появлялся ‘#’. Третий параметр — это нулевые значения маршрута, а четвертый предназначен для дополнительных атрибутов html.

Здесь у вас есть определение метода:http://msdn.microsoft.com/en-us/library/dd492124.aspx

Надеюсь, что помог вам. Приветствия

Комментарии:

1. Я получаю эту ошибку: ошибка сервера в приложении ‘/’. Значение не может быть нулевым или пустым. Имя параметра: linkText [Спасибо за попытку]

2. Ммм, не могли бы вы попробовать отправить amp;nbsp; вместо "" ?