我有一个带有表单元素的母版页,默认按钮属性设置为服务器端ImageButton。在我的一个页面上,我想通过在Page_Load事件中设置Forms DefaultButton来“覆盖”masterpage defaultbutton属性。
即 在主页上:
<form id="form1" runat="server" defaultbutton="btnSearch">....</from>
在页面Page_Load事件中“覆盖”母版页属性:
this.Form.DefaultButton = this.ibRecalc.ID;
错误:
'form1'的DefaultButton必须是IButtonControl类型控件的ID
我正在使用实现IButtonControl的图像按钮
任何关于我可能做错了什么的想法或者解决问题的不同方法?
由于
答案 0 :(得分:44)
使用UniqueId。由于您可以拥有多个具有相同服务器ID的服务器控件,即在GridView中,框架需要唯一的id才能匹配。
this.Form.DefaultButton = this.ibRecalc.UniqueID;
答案 1 :(得分:1)
您可以尝试使用Panel的“DefaultButton”属性...
将您的按钮或整个页面或div放在asp:Panel
中//开始面板
asp:Panel ID =“pnlOpsCallSummay”runat =“server”DefaultButton =“btnSearch”
............
//您需求的控制
..........
asp:Button ID =“btnSearch”runat =“server”Text =“Search”
关闭面板
无需覆盖母版页按钮
答案 2 :(得分:0)
如果您在登录模板中移动面板: -
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
var em = XRegExp('^([\\p{L}+|\\p{N}*][@][\\p{L}+][.][\\p{L}+])$'); // Please help me to correct it
jQuery(function(){
jQuery('input').blur(function(){
console.log(jQuery(this).val());
console.log(em.test(jQuery('#t1').val()));
});
});
</script>
<title></title>
</head>
<body>
Enter Name: <input type="text" name="t1" id="t1" class="kcd">
</body>
</html>
然后它将无法使用代码。 你可以设置loginbuttontype =&#34; Image&#34;或根据您的要求链接或按钮。