Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVC中将URL作为查询字符串参数传递_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

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

C# 如何在MVC中将URL作为查询字符串参数传递,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,有人知道如何将URL作为查询字符串参数传递,然后在HttpGet方法中获取URL作为参数吗?HttpUtility.UrlEncode应该为您完成这项工作 404可能是因为应用程序未处于运行模式 托管您的应用程序并在本地尝试,它应该可以根据需要工作 我试着 一切正常,甚至重定向到启动屏幕 或者发布您获得的完整URL,以便我可以像这样帮助您 <a href="/Home/Index?url=@HttpUtility.UrlEncode("http://stackoverflow.com")"

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

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

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

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

我试着

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

或者发布您获得的完整URL,以便我可以像这样帮助您

<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();
}

[HttpGet]
公共操作结果索引(字符串url=null)
{
ViewBag.Message=“修改此模板以跳转启动ASP.NET MVC应用程序。”;
返回视图();
}

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

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

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

它是一个字符串类型的数据。只需将其附加到查询中,请记住删除
http://
协议,然后它就可以在您的操作中返回。通过“传递”是否意味着将URL作为参数嵌入另一个URL中?如果是这样,请使用HttpUtility.UrlEncode()。是的,很多人都知道。。。谷歌搜索解决方案不应该是一个问题…你将面临的主要问题是,你需要转义uri中的许多字符。你是要获取以前的URL还是另一个URL?