【问题标题】:Make an asp:TextBox inside a Repeater fire the Repeater's ItemCommand when Enter pressed在Repeater中创建一个asp:TextBox在按下Enter时触发Repeater的ItemCommand
【发布时间】:2013-08-09 21:44:09
【问题描述】:

我有一个包含文本框和链接按钮的中继器。当我单击 LinkBut​​ton 时,ItemCommand 事件触发 OK。 W当我在任何文本框中按 Enter 时,将提交转发器所在的表单。理想情况下,我希望行为是在文本框中按 Enter 执行与单击 LinkBut​​ton 相同的操作 - 所以我认为我必须在按下 Enter 时以编程方式“单击”LinkBut​​ton,或者我需要一种方法来触发与 LinkBut​​ton 相同的 ItemCommand(带有相关的命令名称/参数)事件

谁能告诉我如何实现这一点?谢谢

【问题讨论】:

    标签: c# asp.net textbox repeater itemcommand


    【解决方案1】:

    这是一种可能的方法。基本上你将TextBoxLinkButton 包装到面板中。 Panel 提供了一个选项来指定一个默认按钮 - 当用户在此面板内的文本框中点击 Enter 时将单击该按钮。

    <ItemTemplate>
        <asp:Panel ID="Panel1" runat="server" DefaultButton="LinkButton1">
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>    
            <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Cmd" Text="FireCmd"/>
        </asp:Panel>
    </ItemTemplate>
    

    请注意,LinkButton 是默认值时 FF 中可能存在问题 - 这是一个描述问题和解决方案的 post。但是它可能已经过时了 - 帖子写于 2007 年,从那时起事情可能已经发生了变化。

    【讨论】:

    • 谢谢你,好主意,效果很好。我在FireFox中测试过,好像没有问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多