Существует ли ASP.NET MVC HtmlHelper для ссылок изображения?

Я предполагаю, что вы возвращаете данные в виде строки, и вы просто хотите удалить начальные нули только из 2-го числа?

мы можем использовать .split, чтобы разбить строку на части, а затем мы можно использовать parseInt для преобразования некоторых строковых частей в числа. который превратит строку "03" в число 3

function removeleadingZerosFromDateString(str) {
   //Break up the date string on the slashes and whitespace, so we have an array of all the parts
   var parts = str.split(/\/|\s/);
   console.log(parts);

   //Assign each array item to a variable so we can see what is what
   var day = parseInt(parts[0], 10);
   var month = parseInt(parts[1], 10);
   var year = parts[2];
   var time = parts[3];
   var meridian = parts[4];
 
   return day+'/'+month+'/'+year+' '+time+' '+meridian;
 }

var result = removeleadingZerosFromDateString("21/03/2019 19:18 PM");
 console.log(result);

14
задан casperOne 23 November 2012 в 14:11
поделиться

7 ответов

Вот моя, это основная функция, которая делает некоторые перегрузки

public static string ImageLink(this HtmlHelper htmlHelper, string imgSrc, string alt, string actionName, string controllerName, object routeValues, object htmlAttributes, object imgHtmlAttributes)
{
    UrlHelper urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url;
    string imgtag = htmlHelper.Image(imgSrc, alt,imgHtmlAttributes);
    string url = urlHelper.Action(actionName, controllerName, routeValues);

    TagBuilder imglink = new TagBuilder("a");
    imglink.MergeAttribute("href", url);
    imglink.InnerHtml =imgtag;
    imglink.MergeAttributes(new RouteValueDictionary(htmlAttributes), true);

    return imglink.ToString();
}
24
ответ дан 1 December 2019 в 05:48
поделиться
<a href="<%=Url.RouteUrl(...)%>"><img src="..." alt="..." /></a>
34
ответ дан 1 December 2019 в 05:48
поделиться
<%= Html.ActionLink(Html.Image(imageUrl, imageAlt), actionName, controllerName) %>

мог работать, расширение изображения от блока фьючерсов. Или сделайте свое собственное расширение.

9
ответ дан 1 December 2019 в 05:48
поделиться

Создайте свое собственное расширение помощника.

public static string Image(this HtmlHelper helper, string src, string alt)
{
    TagBuilder tb = new TagBuilder("img");
    tb.Attributes.Add("src", helper.Encode(src));
    tb.Attributes.Add("alt", helper.Encode(alt));
    return tb.ToString(TagRenderMode.SelfClosing);
}
7
ответ дан 1 December 2019 в 05:48
поделиться
<%= Html.RouteLink("PLACEHOLDER", ...).Replace("PLACEHOLDER", "<img src=""..."" alt=""..."" />")%>
3
ответ дан 1 December 2019 в 05:48
поделиться

Мне не хватает ТАК чванства, чтобы добавить комментарий, но это комментарий к Комментарий MiniScalope выше :

UrlHelper urlHelper = ((Controller) htmlHelper.ViewContext.Controller) .Url;

Я бы предложил сделать этот метод расширения HtmlHelper сам по себе (и упростить его) для повторное использование:

private static UrlHelper Url(this HtmlHelper helper)
{ 
  return new UrlHelper(helper.ViewContext.RequestContext);
}
5
ответ дан 1 December 2019 в 05:48
поделиться

Это обновленная версия, которую у меня есть из MiniScalope ответа выше. Я использую VS2010 и ASP.NET MVC 2 Preview

        public static string ImageLink(this HtmlHelper htmlHelper, string imgSrc, string alt, string actionName, string controllerName, object routeValues, object htmlAttributes, object imgHtmlAttributes)
    {
        UrlHelper urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url;
        TagBuilder imgTag = new TagBuilder("img");
        imgTag.MergeAttribute("src", imgSrc);
        imgTag.MergeAttributes((IDictionary<string, string>) imgHtmlAttributes,true);
        string url = urlHelper.Action(actionName, controllerName, routeValues);



        TagBuilder imglink = new TagBuilder("a");
        imglink.MergeAttribute("href", url);
        imglink.InnerHtml = imgTag.ToString();
        imglink.MergeAttributes((IDictionary<string, string>)htmlAttributes, true);

        return imglink.ToString();

    }
15
ответ дан 1 December 2019 в 05:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: