ASP.NET主页DefaultButton覆盖如何实现?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (43)

我有一个表单元素的母版页,并将defaultbutton属性设置为服务器端ImageButton。在我的一个页面上,我想通过设置Page_Load事件中的Forms DefaultButton来“覆盖”主页面defaultbutton属性。

即在母版页面:

<form id="form1" runat="server" defaultbutton="btnSearch">....</from>

在“覆盖”母版页属性的页面Page_Load事件中:

this.Form.DefaultButton = this.ibRecalc.ID;

它与以下错误:

The DefaultButton of 'form1' must be the ID of a control of type IButtonControl

我正在使用实现IButtonControl的图像按钮

关于我可能会做错什么或者以不同方式来解决问题的想法?

提问于
用户回答回答于

使用UniqueId。既然你可以有多个服务器控件具有相同的服务器id,也就是说,在GridView中,框架需要唯一的id来匹配。

this.Form.DefaultButton = this.ibRecalc.UniqueID;
用户回答回答于

可以尝试使用Panel的“DefaultButton”属性...

将你的按钮或整个页面或div放在asp:Panel中

//开始面板

asp:Panel ID =“pnlOpsCallSummay”runat =“server”DefaultButton =“btnSearch”

............

//控制你的需求

..........

asp:Button ID =“btnSearch”runat =“server”Text =“Search”

关闭面板

无需重写主页面按钮

扫码关注云+社区