C# 如何让页面上的每个按钮/链接在ASP.NET MVC 2应用程序中执行自己的操作?

C# 如何让页面上的每个按钮/链接在ASP.NET MVC 2应用程序中执行自己的操作?,c#,asp.net-mvc,asp.net-mvc-2,C#,Asp.net Mvc,Asp.net Mvc 2,我正在使用ASP.NET MVC 2和C。根据我开发的应用程序的要求,每个视图都有几个按钮,执行相同的控制器Post操作。目前,为了知道发布操作时单击了哪个按钮,我在表单上使用了一个名为PageAction的隐藏字段。单击任何按钮时,此字段都会设置一个值。这在该视图的后期操作的控制器实现中造成了大量问题,因为我必须针对通过PageAction提交的值进行案例陈述。这似乎是可以做得更好、更简单的事情之一 是否有一种方法可以对单个视图执行多个操作?通过这种方式,每个按钮都会将表单发布到它自己的控制器

我正在使用ASP.NET MVC 2和C。根据我开发的应用程序的要求,每个视图都有几个按钮,执行相同的控制器Post操作。目前,为了知道发布操作时单击了哪个按钮,我在表单上使用了一个名为PageAction的隐藏字段。单击任何按钮时,此字段都会设置一个值。这在该视图的后期操作的控制器实现中造成了大量问题,因为我必须针对通过PageAction提交的值进行案例陈述。这似乎是可以做得更好、更简单的事情之一

是否有一种方法可以对单个视图执行多个操作?通过这种方式,每个按钮都会将表单发布到它自己的控制器操作中,但所有这些都会关联到同一个视图。我想摆脱对PageAction值的神奇字符串检查;但是,所有这些按钮都是同一html表单的一部分,所以除了将每个按钮拆分为自己的表单或者让每个按钮动态更改表单发布到的位置之外,我不确定这是如何实现的。后两种选择听起来都比我现在做的要复杂

欢迎所有建议/意见。谢谢

编辑1


我浏览了链接到这里的博客文章:并复制了功能,但我想知道……如果一个页面上的按钮名称在一个应用程序中的几个不同页面上被标准化,这将如何工作?博客文章似乎假定不同的按钮名称与控制器中的操作名称匹配,但在我的情况下,这不够唯一

您可能会发现说明自定义的用法的有用信息。

也许您应该考虑使用AJAX调用而不是表单POST?如果大多数人想在同一页上执行不同的操作,他们会这样做。

删除我的答案,选择Darin的方法是一样的,这是一个方法,类似于选择Post/Get的操作,使用此方法可以过滤您的帖子数据。感谢Darin的链接。我已经浏览了博客文章并复制了功能,但我想知道……如果一个页面上的按钮名称在几个不同的页面上被标准化,这将如何工作?博客文章似乎假定不同的按钮名称与控制器中的操作名称匹配,但在我的情况下,这不够唯一。我将把这一评论添加到问题本身。结果比我预期的要长。@Jason,你可以修改这些按钮的名称以匹配你控制器上的动作名称。下面是一个例子。这个应用程序有点像一个向导。您从屏幕A->B->C->D->等进入,无需跳跃。屏幕B和C有标准按钮:上一个和下一个。在每个视图上更改这些按钮的名称是没有意义的。这能进一步澄清问题吗?@Jason,不,这不能澄清问题。