![](/img/trans.png)
[英]How could I pass multiple collections to View as parameter from Controller in ASP.NET MVC?
[英]ASP.NET MVC pass a parameter from a view to a controller
我正在寻找一种方法来知道调用控制器时按下了什么链接。 我的链接在我的查看页面中:
<li id="tabFiles"><a href="~/Files" id="test">Files</a></li>
我的文件控制器在这里:
public ActionResult Index(string submit)
{
string s = submit;
return View();
}
我尝试传递一个字符串,希望它是单击的链接的ID,但这仅返回null。
您应该将ID作为查询字符串传递:
<li id="tabFiles"><a href="~/Files/?id=test">Files</a></li>
public ActionResult Index(string id)
{
string s = id;
return View();
}
或者您可能希望以这种形式传递该信息:
<li id="tabFiles"><a href="~/Files/test">Files</a></li>
将参数发送到控制器的方式取决于配置路由的方式 。
您可以创建自定义操作过滤器,并在控制器上进行如下设置:
...
[CustomActionFilter]
public class FilesController : Controller
{
...
}
在此自定义过滤器上,您可以获取如下操作名称:
public class
CustomActionFilter : ActionFilterAttribute, IActionFilter
{
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
// TODO: Add your acction filter's tasks here
// Log Action Filter Call
MusicStoreEntities storeDB = new MusicStoreEntities();
ActionLog log = new ActionLog()
{
Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
Action = filterContext.ActionDescriptor.ActionName + " (Logged By: Custom
Action Filter)",
IP = filterContext.HttpContext.Request.UserHostAddress,
DateTime = filterContext.HttpContext.Timestamp
};
storeDB.ActionLogs.Add(log);
storeDB.SaveChanges();
this.OnActionExecuting(filterContext);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.