我有一个带有Login控件的ASP.NET网页.当我按Enter键时,"登录"按钮不会触发; 而是页面提交,什么都不做.
我在网上找到的标准解决方案是将Login控件封装在Panel中,然后设置Panel默认按钮.但是,如果页面有母版页,那么显然效果不佳.我已经尝试在控件 .ID,控制 .ClientID和控制 .UniqueID的代码中设置默认按钮,并且在每种情况下我得到:
panelName的DefaultButton必须是IButtonControl类型的控件的ID.
我确信有一种方法可以使用JavaScript来实现这一点,但如果可能的话,我真的很想用普通的旧C#代码来实现.可能吗?
我有一个ASP.NET应用程序,其中有几个ASP.NET按钮和几个纯HTML按钮.只要有用户点击输入的文本框,ASP.NET按钮就会尝试提交表单.
我知道我可以改变defaultButton,但我不希望有任何默认按钮.我只是想要它,所以当用户按下输入时它不会做任何事情.
我试过设置defaultButton为空白,但这似乎不起作用.按Enter键时,如何阻止ASP.NET按钮提交表单?
我有一个文本框和许多按钮.当用户在某个文本框中并按下"输入"键时,将引发特定的按钮单击事件.我在互联网上看到"输入"键有一些问题,我尝试了一些解决方案但仍然总是进入该按钮事件(该按钮是页面中的第一个按钮).
我尝试创建一个什么都不做的按钮,并在page_load中写这个:
idTextBoxFA.Attributes.Add("onkeydown","if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementBtId('" + noEnterButton.UniqueID + "').click();return false;}} else {return true}; ");
Run Code Online (Sandbox Code Playgroud)
我的所有页面控件都在一个表单中,我尝试将表单"defaultButton"赋予我创建的那个按钮.那也没有用.
知道为什么这不起作用,我做错了什么?
我有一个带有表单元素的主页面,defaultbutton属性设置为服务器端的ImageButton.在我的一个页面上,我想通过在Page_Load事件中设置Forms DefaultButton来"覆盖"masterpage defaultbutton属性.
即在主页上:
<form id="form1" runat="server" defaultbutton="btnSearch">....</from>
Run Code Online (Sandbox Code Playgroud)
在"覆盖"主页面属性的页面Page_Load事件上:
this.Form.DefaultButton = this.ibRecalc.ID;
Run Code Online (Sandbox Code Playgroud)
它错误:
'form1'的DefaultButton必须是IButtonControl类型的控件的ID
我正在使用实现IButtonControl的图像按钮
我可能做错了什么或以不同方式解决问题的任何想法?
谢谢
在我的应用程序中,我使用默认按钮.我希望它在ENTERKey 发布时作出反应.不是当ENTER是关键按下.
我删除了KeyStroke从InputMap按钮的.但它对我不起作用.我该怎么做?
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class ButtonTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
buildFrame();
}
});
}
private static void buildFrame() {
JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JButton button = new JButton(new AbstractAction("Button") {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("ButtonTest::actionPerformed: CALLED");
}
});
JButton button2 = new JButton("Button 2");
InputMap im = button.getInputMap(); …Run Code Online (Sandbox Code Playgroud) 几个月来,我在SL 3应用程序中成功使用了David Justices Default Button示例.此方法基于附加属性.
升级到SL4后,该方法不再有效,我得到一个XAML异常:
未知的解析器错误:扫描程序2148474880
有人在SL4中成功使用过这个(或任何其他)默认按钮附加行为吗?
有没有其他方法可以在SL4中使用可用的新类实现默认按钮行为?
谢谢,马克
我正在努力解决的问题:
我有几个文本框asp:Panel.当用户Enter从任何这些框中点击时,我希望表单像他们点击一样提交btnAddTag.(当光标不在那些框中时,我有一个不同的默认提交按钮.)
aspx:
<asp:Panel id="thePanel" runat="server">
<asp:Button ID="btnAddTag" Text="Add Tag" runat="server" />
</asp:Panel>
Run Code Online (Sandbox Code Playgroud)
vb:
tagPanel.DefaultButton = btnAddTag.UniqueID
Run Code Online (Sandbox Code Playgroud)
例外:
'tagPanel'的DefaultButton必须是IButtonControl类型的控件的ID.
值的值btnAddTag.UniqueID是ctl00$phMain$btnAddTag(有一个母版页,调用此部分phMain).
我也试过了CType(tagPanel.FindControl("btnAddTag"), Button).UniqueID.
在我的网站中,我在母版页中有一个搜索功能(没有设置默认按钮,也没有在窗体中).在一个内容页面,我有一个登录,我使用带有defaultbutton的asp面板.但是当我点击登录文本框中的Enter然后我的网站继续前往搜索事件处理程序......可能是什么原因?
一些代码:
//on content page
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Button1.Text);
}
<asp:Panel ID="pnl1" runat="server" DefaultButton="Button1">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:LinkButton ID="Button1" runat="server" Text="Button1" OnClick="Button1_Click" />
</asp:Panel>
//on master page:
protected void btnSearch_Click(object sender, EventArgs e)
{
if (!txtSearch.Text.Equals(""))
{
Response.Redirect("searchresults.aspx?search=" + txtSearch.Text);
}
}
<div id="searchbar">
<asp:TextBox ID="txtSearch" CssClass="searchbar-field" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" CssClass="searchbar-btn" runat="server" Text="Zoek" OnClick="btnSearch_Click" />
</div>
Run Code Online (Sandbox Code Playgroud)
确定找到了解决方案:需要使用Button而不是LinkButton.那应该没问题......
我有一个带默认按钮设置的asp.net面板,但是当按下ENTER按钮时按钮永远不会触发.我搜索了SO这个问题,但找不到任何有效的回复.
当用户点击ENTER时如何让btnRegister单击?
<asp:Panel runat="server" ID="pnlCustomer" DefaultButton="btnRegister">
<table width="500px" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<asp:Button ID="btnBackToProfile" Text="Back To Profile" runat="server" Enabled="false"
onclick="btnBackToProfile_Click" />
</td>
<td align="right">
<asp:Button ID="btnClearnForm" Text="Clear Form" runat="server"
OnClientClick="ClearForm1()" />
</td>
<td align="right">
<asp:Button id="btnRegister" runat="server" onclientclick="document.getElementById('AlertTime').value = GetSeconds();" Text="Continue" OnClick="btnRegister_Click" />
</td>
</tr>
</table>
</asp:Panel>
Run Code Online (Sandbox Code Playgroud) 在 Xamarin.Forms 中,如何将按钮指定为页面的默认按钮?
例如,在 UWP 上,当用户在页面具有焦点时按下 Enter 键时,应触发DefaultButton的单击处理程序。