Is there an elegant way of showing URL on page using ASP.NET MVC3 .The method I'm looking for should accept contollerName,actionName and routeValue(similiar to @Html.ActionLink() by arguments)
e.g.Code: Here's the link: @thatMethod("Show",开发者_如何学编程 "Post", new { Post = 0 })
e.g.Result: Here's the link: http://localhost:3120/Post/Show/0
EDIT 1: I dont wan't it to be hyperlink,just plain text.
EDIT 2: It needs to show domain ("http://localhost:3120" in previous example)
This is an even better solution.
You can use Html Helper extensions.
Html Helper class
public static class HtmlHelpersExtensions
{
public static string ActionLinkText(this HtmlHelper helper, string linkText, string actionName, string controllerName,object htmlAttributes, string spanAttributes)
{
TagBuilder spanBuilder = new TagBuilder("span");
spanBuilder.InnerHtml = linkText;
spanBuilder.Attributes.Add("class", spanAttributes);
return BuildAnchor(spanBuilder.ToString(), string.Format("/{0}/{1}", controllerName, actionName), htmlAttributes);
}
private static string BuildAnchor(string innerHtml, string url, object htmlAttributes)
{
TagBuilder anchorBuilder = new TagBuilder("a");
anchorBuilder.Attributes.Add("href", url);
anchorBuilder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
anchorBuilder.InnerHtml = innerHtml;
return anchorBuilder.ToString();
}
}
View
@Html.ActionLinkText("Your Text", "Show", "Post", new { @title = "Your Text" }, "").Raw()
This may help you.
精彩评论