asp.net - 在 mvc 中执行操作之前的所有操作中的默认参数
问题描述
有没有办法为 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());
}
}
}
和我这样的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>
我的动作就像(可以是应用程序中的任何动作,每个动作都应该有那个参数FormControlID
public ActionResult WhatEverAction(int TestID=0)
{
}
在OnActionExecuting
i 中只能访问TestID
但不能访问 href 的参数,即FormControlID
解决方案
Request
您可以从属性的HttpContext
属性访问查询字符串值
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
int currentformcontrolid = Convert.ToInt32(filterContext.HttpContext
.Request.QueryString["FormControlID"].ToString());
}
推荐阅读
- python - 在 Bokeh 中将方程绘制为线 - Python
- java - 防止 Swagger 自动添加某些模型
- c++ - std::chrono::duration 的 operator/ 和带有 clang 的自定义类型
- r - 绘图不使用闪亮仪表板侧边栏上的输入进行渲染
- node.js - 从 Nodejs 脚本获取 Microsoft GRAPH 访问令牌
- angular - 在不同的事件类型Angular 2上订阅http observable
- javascript - 重用reducer逻辑,动作名称未定义
- reactjs - 更改图像
- ssh - Ant scp 任务:JSchException:无效的私钥
- sql - Windows 批处理文件调用 Oracle PL/SQL 块格式问题