如何在 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));
}
有谁知道如何将 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));
}