c# - 做一个asp :TextBox inside a Repeater fire the Repeater's ItemCommand when Enter pressed

标签 c# asp.net textbox repeater itemcommand

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

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

最佳答案

这是一种可能的方法。基本上,您将 TextBoxLinkBut​​ton 包装到面板中。面板提供了一个选项来指定默认按钮 - 即当用户在此面板内的文本框中点击 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>

请注意,FF 中可能存在默认 LinkBut​​ton 问题 - 这里是 post描述问题和解决方案。然而它可能已经过时了 - 帖子写于 2007 年,从那以后情况可能已经发生了变化。

关于c# - 做一个asp :TextBox inside a Repeater fire the Repeater's ItemCommand when Enter pressed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18121616/

相关文章:

C#:为什么减小图像大小会导致图像质量非常差?我可以做任何事

c# - 使用 safari 浏览器发布下载文件

c# - 为什么 itween 动画似乎比声明花费更多时间并防止延迟 Destroy()

c# - WCF 服务是否使用多线程来处理传入请求?

c# - 底层连接在 HttpWebRequest 上关闭 在生产服务器上发布

asp.net - RegularExpressionValidator 在多行文本框(文本区域)上运行缓慢

jquery - 文本区域高度增加

vba - 按下回车键后继续关注文本框

Android:让EditText类似于Chrome的URL框

c# - 使用标题和行列表创建 View