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

时间:2015-06-04 15:37:08

标签: c# asp.net-core asp.net-core-mvc

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

3 个答案:

答案 0 :(得分:5)

非常感谢所有答案。最后我把它分类了。请参阅下面的修复程序:

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

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

答案 1 :(得分:2)

就像这样?

<a href="/Home/Index?url=@HttpUtility.UrlEncode("http://stackoverflow.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();
}

答案 2 :(得分:1)

HttpUtility.UrlEncode应该为你做的工作

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

托管您的应用程序并在本地尝试它应该根据需要工作

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

即使重定向到启动画面也一切正常

或者发布您获得的完整网址,以便我可以帮助您