действие ссылка mvc - PullRequest
       5

действие ссылка mvc

1 голос
/ 27 января 2012

Как открыть новое окно со ссылкой на OutSide из MVC и получить некоторые параметры при открытии?

@Html.ActionLink("SomeTextForLink", "wwww.google.com", null, new { querystring values}, new { target ="_blank"})

Я хочу открыть что-то вроде www.abc.com/contact.aspx?id=22 Это за пределами MVC Страница

Спасибо

Ответы [ 2 ]

6 голосов
/ 27 января 2012

Вы не можете использовать ActionLink для этого. ActionLinks предназначены только для ссылок на Action внутри вашего Приложения.

Вы можете использовать обычную ссылку

<a href="@string.Format("http://www.abc.com/contact.aspx?{0}", yourQueryString)" target="_blank">
    Link Text
</a>
2 голосов
/ 27 января 2012

Вы можете написать собственный помощник для этого:

public static class HtmlExtensions
{
    public static IHtmlString Link(this HtmlHelper htmlHelper, string linkText, string baseUrl, object query, object htmlAttributes)
    {
        var anchor = new TagBuilder("a");
        anchor.SetInnerText(linkText);
        foreach (var item in new RouteValueDictionary(htmlAttributes))
        {
            anchor.Attributes[item.Key] = item.Value as string;
        }

        var urlBuilder = new UriBuilder(baseUrl);
        var values = HttpUtility.ParseQueryString(string.Empty);
        foreach (var item in new RouteValueDictionary(query))
        {
            values[item.Key] = item.Value as string;
        }
        urlBuilder.Query = values.ToString();
        anchor.Attributes["href"] = urlBuilder.ToString();

        return new HtmlString(anchor.ToString());
    }
}

, а затем:

@Html.Link(
    "SomeTextForLink",
    "http://www.google.com",
    new { param1 = "value1", param2 = "value2" }, 
    new { target = "_blank" }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...