我正在使用Ajax发送表单,它有两个输入。
接收操作仅需要使用传递的值之一。
docker login -u admin -p Harbor12345 reg.test.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
需要使用另一个参数。
基于这个原因,我将动作写为
why ci job login failed?
how to resolve it?
但是当我尝试执行操作时,在我的动作过滤器中
ActionFilterAttribute
由于参数不存在,我得到了一个例外。
System.Collections.Generic.KeyNotFoundException:'字典中不存在给定键'value1'。'
如果我将操作的原型更改为
[AttributeImWriting]
public ContentResult Get(Guid value0) //[...]
然后我可以从我的filterAttribute中读取context.ActionArguments["value1"]
。
所以问题是::在public ContentResult Get(Guid value0, string value1) //[...]
中,我如何读取表单发送的参数,但该参数在操作原型中不存在应用了过滤器?
我也尝试使用value1
,但效果不佳。
答案 0 :(得分:0)
如果使用POST
将值发送到控制器端,则在自定义ActionFilterAttribute
中,可以从Form
属性中获取参数:
var value1 = context.HttpContext.Request.Form["value1"].ToString();
如果您使用Get
将值发送到控制器端,则可以从QueryString
属性中获取参数,然后拆分并获取每个项目:
var querystring = context.HttpContext.Request.QueryString;