• 为继承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;
        }

  • 相关阅读:
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
    Configuration system failed to initialize
    WebException 请求被中止: 操作超时
    The underlying connection was closed: The connection was closed unexpectedly.
    无法将数据写入传输连接: 在一个非套接字上尝试了一个操作
    C# .NET UDP 形式调用 graylog,gelf
    python3存入redis是bytes
    python commands模块在python3.x被subprocess取代
    subprocess
    nginx重新编译添加ssl模块
  • 原文地址:https://www.cnblogs.com/lovewife/p/1396359.html
Copyright © 2020-2023  润新知