MVC 3 кнопка изображения - PullRequest
2 голосов
/ 29 июля 2011

Есть ли способ сделать @ Html.actionLink изображением, чтобы щелкнуть вместо простой гиперссылки?В настоящее время у нас есть старая версия, у которой есть атрибут onclick, связывающий код позади, поэтому его необходимо преобразовать в ссылку, связанную с контроллером, а не код, который больше не существует в MVC3.

Ответы [ 3 ]

1 голос
/ 22 октября 2012
 @using (Html.BeginForm())
 {
  <p>
   <input type="image" value="submit" src="../../Images/login_button.png" alt="submit Button">
  </p>
 }
1 голос
/ 29 июля 2011

Есть ли способ сделать @ Html.actionLink изображением, которое нужно щелкнуть вместо гиперссылки?

Нет, но вы можете написать пользовательский помощник HTML , который генерирует изображение или что угодно. Фактически, теперь я думаю, что вы можете применить класс CSS к тонкому якору, который применяет к нему background-image и фиксированную ширину и высоту. Я просто не знаю, что бы вы сделали с текстом => IIRC Html.ActionLink заставляет вас передать непустой параметр linkText в качестве первого аргумента. Поэтому, наконец, пользовательский помощник HTML не кажется такой плохой идеей.

0 голосов
/ 31 августа 2013
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Helpers;
using System.Web.Mvc;

namespace SMART.Infrastructure
{
    public static class Html
    {
        /// <summary>
        /// Creates and Action link with a clickable image instead of text.
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="controller">Controller</param>
        /// <param name="action">Action</param>
        /// <param name="parameters">Parameters</param>
        /// <param name="src">Image source</param>
        /// <param name="alt">Alternate text(Optional)</param>
        /// <returns>An HTML anchor tag with a nested image tag.</returns>
        public static MvcHtmlString ActionImage(this HtmlHelper helper, String controller, String action , Object parameters, String src, String alt = "", String title = "")
        {
            TagBuilder tagBuilder = new TagBuilder("img");
            UrlHelper urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
            String url = urlHelper.Action(action, controller, parameters);
            String imgUrl = urlHelper.Content(src);
            String image = "";
            StringBuilder html = new StringBuilder();

            // build the image tag.
            tagBuilder.MergeAttribute("src", imgUrl);
            tagBuilder.MergeAttribute("alt", alt);
            tagBuilder.MergeAttribute("title", title);
            image = tagBuilder.ToString(TagRenderMode.SelfClosing);

            html.Append("<a href=\"");
            html.Append(url);
            html.Append("\">");
            html.Append(image);
            html.Append("</a>");

            return MvcHtmlString.Create(html.ToString());
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...