• 为继承masterpage的页面设置defaultbutton和defaultfocus


    一个普通的aspx页面,我们可以很容易地为其设置设置defaultbutton和defaultfocus,具体如下:

    .aspx:

     <form id="form1" runat="server">
            <div>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click"></asp:Button>
                <asp:Button ID="SubmitButton" Text="Submit" runat="server" OnClick="SubmitButton_Click">
                </asp:Button>
            </div>
        </form>

    .cs:

     protected void Page_Load(object sender, EventArgs e)
        {
            this.Form.DefaultButton = SubmitButton.ID ;
            this.Form.DefaultFocus = TextBox1.ID;
        }

    但是如果我们的页面是继承于一个masterpage的,形如:

    .aspx:

    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click"></asp:Button>
        <asp:Button ID="SubmitButton" Text="Submit" runat="server" OnClick="SubmitButton_Click">
        </asp:Button>
    </asp:Content>

    .cs: 

    protected void Page_Load(object sender, EventArgs e)
        {
            this.Form.DefaultButton = SubmitButton.ID;
            this.Form.DefaultFocus = TextBox1.ClientID;
        }
    在执行时就会提示出现“The DefaultButton of 'form1' must be the ID of a control of type IButtonControl. ”的异常;解决的办法是:在这个页面,用一个panel控件把textbox, button包起来,比如:

    .aspx:

    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
        <asp:panel id="panel" runat="server">
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click"></asp:Button>
            <asp:Button ID="SubmitButton" Text="Submit" runat="server" OnClick="SubmitButton_Click">
            </asp:Button>
        </asp:panel>
    </asp:Content>

    .cs:

    protected void Page_Load(object sender, EventArgs e)
        {
            panel.DefaultButton  = SubmitButton.ID;
            this.Form.DefaultFocus = TextBox1.ClientID;
        }

  • 相关阅读:
    springMVC 是单例还是的多例的?
    js如何获取数字占的位数~
    java 为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?
    数据挖掘基本概念讲解
    js如何判断小数点后有几位
    volotile关键字的内存可见性及重排序
    上传文件multipart form-data boundary 说明
    vi 调到第一行和最后一行
    linux监控平台搭建-磁盘
    Guava Cache 参数配置说明
  • 原文地址:https://www.cnblogs.com/aspsmile/p/1317553.html
Copyright © 2020-2023  润新知