Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# 在Asp.Net MVC控制器中读取Axios Get参数_C#_Asp.net Mvc_Reactjs_Axios - Fatal编程技术网

C# 在Asp.Net MVC控制器中读取Axios Get参数

C# 在Asp.Net MVC控制器中读取Axios Get参数,c#,asp.net-mvc,reactjs,axios,C#,Asp.net Mvc,Reactjs,Axios,我正在使用axios get方法并将参数传递给asp.net mvc控制器。我可以阅读个人价值观。但我试图把所有的值作为一个对象一起读取。我没有视图模型,我正在尝试将参数作为泛型对象读取。axios params数据类型将在c#控制器中用作什么参数?我为buildurl和验证每个参数创建了一个单独的方法,但是否有一次验证所有参数的选项 这很有效 反应码 C#控制器代码 //Read parameter as individual strings [HttpGet("[a

我正在使用axios get方法并将参数传递给asp.net mvc控制器。我可以阅读个人价值观。但我试图把所有的值作为一个对象一起读取。我没有视图模型,我正在尝试将参数作为泛型对象读取。axios params数据类型将在c#控制器中用作什么参数?我为buildurl和验证每个参数创建了一个单独的方法,但是否有一次验证所有参数的选项

这很有效

反应码

C#控制器代码

     //Read parameter as individual strings
        [HttpGet("[action]")]
        public async Task<string> GET(string param1, string param2)
        {
            try
            {  
                var url = BuildUri( param1, param2); 
             }
         }
//将参数作为单个字符串读取
[HttpGet(“[action]”)
公共异步任务GET(字符串param1,字符串param2)
{
尝试
{  
var url=BuildUri(param1,param2);
}
}
这不起作用

控制器代码

     //Read parameter as individual strings
        [HttpGet("[action]")]
        public async Task<string> GET(string param1, string param2)
        {
            try
            {  
                var url = BuildUri( param1, param2); 
             }
         }
//将参数作为单个对象读取以执行某些逻辑。尝试
//[FromBody]对象、对象、字符串作为数据的参数数据类型
[HttpGet(“[action]”)
公共异步任务获取(数组数据)
{               
尝试
{
var url=BuildUri(param1,param2);
}
}
私有静态字符串BuildUri(字符串BaseUrl、字符串param1、字符串param2)
{
var uriBuilder=新的uriBuilder(BaseUrl);
var query=HttpUtility.ParseQueryString(uriBuilder.query);
如果(!string.IsNullOrEmpty(param1)){query[“param1”]=param1;}
如果(!string.IsNullOrEmpty(param2)){query[“param2”]=param2;}
uriBuilder.Query=Query.ToString();
var url=uriBuilder.ToString();
返回url;
}
我找到了在C#中使用名称-值对构建查询字符串的选项,但不确定如何将axios参数作为名称-值对对象传递给C#控制器。
Ref:

可能有更好的方法,但一种方法是使用对象[]参数,如下所示:

        [HttpGet("[action]")]
        public string GET(object[] objects)
        {
            string param1 = objects[0] as string;
            string param2 = objects[1] as string;
            try
            {
                var url = BuildUri(param1, param2);
            }
        }

此外,不应使用没有catch块的try块。我希望这有帮助

axios是否将参数作为查询字符串发送?如果是这样,您应该能够使用
[FromUri]
将它们绑定到复杂类型。在这里看到更多
        [HttpGet("[action]")]
        public string GET(object[] objects)
        {
            string param1 = objects[0] as string;
            string param2 = objects[1] as string;
            try
            {
                var url = BuildUri(param1, param2);
            }
        }