如何打開與鏈接的新窗口,以MVC之外,並採取在打開一些參數?操作鏈接MVC
@Html.ActionLink("SomeTextForLink", "wwww.google.com", null, new { querystring values}, new { target ="_blank"})
我想打開像www.abc.com/contact.aspx?id=22
這是MVC頁之外
謝謝
如何打開與鏈接的新窗口,以MVC之外,並採取在打開一些參數?操作鏈接MVC
@Html.ActionLink("SomeTextForLink", "wwww.google.com", null, new { querystring values}, new { target ="_blank"})
我想打開像www.abc.com/contact.aspx?id=22
這是MVC頁之外
謝謝
你可以寫一個自定義的幫手此:
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" }
)
你不能使用ActionLink的爲。動作鏈接僅用於鏈接到應用程序中的動作。
可以使用通常的鏈接
<a href="@string.Format("http://www.abc.com/contact.aspx?{0}", yourQueryString)" target="_blank">
Link Text
</a>
非常感謝,通用的方式 – 2012-01-27 15:03:58