gpt4 book ai didi

c# - 通过 Controller/Action/RouteValues 组合显示 MVC URL 路径

转载 作者:行者123 更新时间:2023-11-30 15:43:47 27 4
gpt4 key购买 nike

我有一个疑问是:

当我使用下面的代码时:

@(Html.ActionLink("Click Me", "ACTION", new {QueryName = ViewBag.QueryName}))

我会得到这样的 HTML 输出:点我

好的,但是如果我想将以下内容作为 HTML 输出怎么办?

我只想要操作链接的“href”部分 http://localhost/ControllerName/ACTION?QueryName=098 ,没有“a”标签

我是否必须为它编写一个扩展,或者我是否有一些预先存在的规定来做它?

希望我说得足够清楚。

谢谢

更新

到目前为止,我写了一个扩展,这显然不是最好的方法,如下所示,但我需要它:

public static class ActionURLPathExtension
{
public static MvcHtmlString ActionURLPath(this HtmlHelper helper , string ActionName, string ControllerName, object RouteValues)
{
string resultURL=LinkExtensions.ActionLink(helper," ",ActionName,ControllerName, RouteValues, new object()).ToHtmlString();
resultURL= resultURL.Replace("</a>","") .Replace("<a href=\"","") .Replace("\">","").Trim() ;

return MvcHtmlString.Create(helper.ViewContext.HttpContext.Server.UrlDecode(resultURL));
}
}

在 HTML 中我是这样使用的:

<span>Now you can paste this URL in your address bar : @(Html.ActionURLPath("CarregarFiltros", "Filtros", new { QueryId = "%0" , noCache = new Random().Next(0,1989)  }))</span>

最佳答案

您可以使用 Url.Action,如下所示:

@Url.Action("Action", new { QueryName = ViewBag.QueryName })

或者如果您需要完全限定的 URL:

@Url.Action("Action", "Controller", new { QueryName = ViewBag.QueryName }, "http")

关于c# - 通过 Controller/Action/RouteValues 组合显示 MVC URL 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551746/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com