gpt4 book ai didi

c# - 按钮 Onclick 事件(在 codbehind 中)不会在 MVC 2 中触发

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:58 26 4
gpt4 key购买 nike

我有一个在 VS 2008 中的 MVC 1.0 Web 应用程序;我刚刚将项目升级到 VS 2010,它自动将 MVC 升级到 2.0。

我有一堆 viewpages 有手动添加的代码隐藏文件。项目在升级前运行良好,但现在连 onclick 都不触发了。

即我有一个带有 onclick 事件的 asp:button,它指向代码隐藏中的一个方法。单击按钮时,不会触发 onclick 事件。事实上,当您查看 Page 变量时,IsPostBack 为 false。

这真的很奇怪,我想知道是否有人知道发生了什么以及如何解决它。我认为这与 MVC 2.0 的变化有关;但我不确定。

非常感谢任何帮助,我已经尝试解决这个问题一段时间了。

(删除代码隐藏并将其移动到 Controller 并不是一个真正的选择,因为有这么多页面,回到 vs 2008 是最后的选择,因为我想利用一些 VS 2010 的功能,如性能测试.)

最佳答案

使用代码隐藏违反了 MVC 模式,因此不受支持。这在 MVC 1 中起作用的事实是偶然的和无意的。

您注意到该项目有点太大,无法删除代码隐藏并将该逻辑移至 Controller 。作为替代方案,如果您发现 WebForms 回发模型适合您此处的页面,您可能只想将网站的这一部分设为 WebForms(真正的 .aspx,无需通过 MVC 管道)。这可能比尝试将这些页面转换为 MVC 更容易。请记住,MVC 和 WebForms 将在同一个应用程序中愉快地共存。

否则,考虑到您的时间限制,您最好的选择可能是恢复到 MVC 1 + VS2008。

关于c# - 按钮 Onclick 事件(在 codbehind 中)不会在 MVC 2 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com