有没有人知道如何将URL作为查询字符串参数传递,然后将HttpGet方法中的URl作为参数获取?
答案 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
即使重定向到启动画面也一切正常
或者发布您获得的完整网址,以便我可以帮助您