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