dan*_*haj 5 asp.net asp.net-mvc action-filter onactionexecuting
有没有办法为MVC应用程序中的每个操作添加一些默认参数.所以如果从锚点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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
和我的href这样(这是一个AJAX锚定电话):
<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>
Run Code Online (Sandbox Code Playgroud)
和我的动作一样(可以是应用程序中的任何动作,每个动作都应该有该参数 FormControlID
public ActionResult WhatEverAction(int TestID=0)
{
}
Run Code Online (Sandbox Code Playgroud)
在OnActionExecuting我只能访问TestID而不是href的参数FormControlID
小智 3
您可以从属性Request的属性中访问查询字符串值HttpContext
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
int currentformcontrolid = Convert.ToInt32(filterContext.HttpContext
.Request.QueryString["FormControlID"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |