有没有办法为 MVC 应用程序中的每个操作添加一些默认参数。所以如果从 anchor href发送,我可以获得参数的值。
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
int currentformcontrolid = 0;
foreach (var parameter in filterContext.ActionParameters)
{
if (parameter.Key == "FormControlID")
{
currentformcontrolid = Int32.Parse(parameter.Value.ToString());
}
}
}
和我的 href 像这样(这是一个
AJAX
anchor 调用):<a
data-ajax="true"
data-ajax-method="GET"
data-ajax-mode="replace"
data-ajax-update="#soapfunction-screens"
href="/Patient/Intake?FormContorlID=100003"
data-islandingpage="False"
id="InkAlcoholDrug" >
Alcohol Drug Use
</a>
和我的 Action (可以是应用程序中的任何 Action ,每个 Action 都应该具有该参数
FormControlID
public ActionResult WhatEverAction(int TestID=0)
{
}
在
OnActionExecuting
我只能访问 TestID
但不是href的参数FormControlID
最佳答案
您可以从 Request
访问查询字符串值。 HttpContext
的属性(property)属性(property)
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
int currentformcontrolid = Convert.ToInt32(filterContext.HttpContext
.Request.QueryString["FormControlID"].ToString());
}
关于asp.net - 在 mvc 中执行操作之前的所有操作中的默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50735918/