asp.net MVC 应用程序中的按钮如何连接?

How is button connected in asp.net MVC app?

我有一个 asp.net MVC 应用程序。 .cshtml 文件中有一个 <button>。该按钮只有一个 id。没有任何关联的 javascript。我在任何控制器中都没有看到这个按钮名称。

但是,单击按钮时,它不执行任何操作。单击按钮后,如何追踪触发按钮操作的原因?

由于按钮是在 Html.BeginForm 大括号内定义的,因此按钮单击被连接以执行 POST 表单数据提交。

我认为您对 ASP.NET WebFormMVC 的工作原理有点困惑。

虽然 WebFormWinForms 非常相似,但从某种意义上说,控件可以具有赋予其状态外观感的事件,MVC 则不同,它拥抱 HTTP 的stateless 性质。

MVC 中,当单击一个按钮时,它通常与一个 controller 和一个 action 相关联,它会将数据发布到该按钮。因此,单击按钮会转换为对控件的操作,就像 WebForm.

中的方法调用一样

问。控制器仍然需要知道按钮来处理点击?


服务器端不存在控制,这是无状态的缺点(从我的角度来看是+方面)。 在 MVC 中没有点击,只有控制器上的方法调用。

可以使用 10 个不同的按钮调用相同的操作。如果您可以分享 <view>.cshtml 的代码,那么我可能会提供更多帮助。

在单独的文件中可能有 java 脚本。在那个 JavaScript 文件中,必须附加点击处理程序,它必须通过任何机制在控制器中调用您的操作。

首先.. 在您的项目中搜索其他使用该按钮 ID 的地方。 这可能是您可以开始追踪的点...