如何在 MVC 中将 URL 作为查询字符串参数传递

How to pass a URL as a query string parameter in MVC

有谁知道如何将 URL 作为查询字符串参数传递,然后在 HttpGet 方法中获取 URl 作为参数?

HttpUtility.UrlEncode 应该为您完成这项工作

404 可能是因为应用程序未处于 运行 模式

托管您的应用程序并在本地试用它应该可以正常工作

我正在尝试 http://localhost:11331/Home/?id=http%3A%2F%2Flocalhost%3A11331%2F

一切正常,甚至重定向到启动屏幕

否则 post 您得到的完整 URL 以便我可以帮助您

就这样?

<a href="/Home/Index?url=@HttpUtility.UrlEncode("http://whosebug.com")">current url with UrlEncode</a>

[HttpGet]
public ActionResult Index(string url = null)
{
    ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
    return View();
}

非常感谢您的所有回答。最后我把它整理好了。请参考下面我的修复:

[Route("api/[controller]")]
public class UrlController : Controller
{
    [HttpGet("{*longUrl}")]
    public string ShortUrl(string longUrl)
    {
        var test = longUrl + Request.QueryString;

        return JsonConvert.SerializeObject(GetUrlToken(test));
    }