Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将输入键绑定到asp net链接按钮中继器_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

Javascript 将输入键绑定到asp net链接按钮中继器

Javascript 将输入键绑定到asp net链接按钮中继器,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我的问题很简单,在repeater中是否有将“enter”键绑定到asp net链接按钮的方法?(Iv'e尝试了DefaultButtonproperty,但无效。以下是我的代码: ASPX: 是否仍有可能使用JavaScript或jQuery执行此操作?请尝试此操作(需要jQuery): 使用System.Web.UI.WebControls; .... 受保护的无效rptVisitedItem\u OnItemDataBound(对象发送方,RepeaterItemEventTarget e

我的问题很简单,在repeater中是否有将“enter”键绑定到asp net链接按钮的方法?(Iv'e尝试了
DefaultButton
property,但无效。以下是我的代码:

ASPX:

是否仍有可能使用JavaScript或jQuery执行此操作?

请尝试此操作(需要jQuery):

使用System.Web.UI.WebControls;
....
受保护的无效rptVisitedItem\u OnItemDataBound(对象发送方,RepeaterItemEventTarget e)
{
....
LinkButton lbn=(LinkButton)e.Item.FindControl(“btnGroup”);
添加(“onkeypress”、“doPostBack(“”、“)”);
....
}

中继器中似乎没有任何东西可以捕获按下的
enter
键。通常,
DefaultButton
与一个或多个文本框控件关联

当在
input type=text
元素中按下
enter
时,默认浏览器行为是表单Post。因此,指定默认按钮将确保使用aspnet处理正确的表单

如果您尝试下面的代码段,您将看到它可以工作,即使没有
rptVisitedItem\u OnItemDataBound
中的代码。在文本框中按enter键,相应的
btnGroup
按钮将被触发

<asp:Panel DefaultButton="btnGroup" runat="server" ID="editLinkButton">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:LinkButton ID="btnGroup" runat="server" Text="Test me" CommandName="selectGroup" CommandArgument='<%# Eval("VisitID") %>' />
</asp:Panel>


哪个按钮?将有多个按钮..您看到的带有ID=“btnGroup”的链接按钮其他信息:无法将类型为“System.Web.UI.WebControl.LinkButton”的对象强制转换为类型为“System.Web.UI.HtmlControl.HtmlInputButton”。不,当我按enter键时不会发生任何事情。请查看页面源并查找其中一个“btnGroup”并检查是否注册了“onckeypress”事件?是的,似乎已注册。
private DataSet _groups;
protected void rptVisitedItem_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var panel = (Panel) e.Item.FindControl("editLinkButton");
    var panelT = (Panel) e.Item.FindControl("editPanelGroup");
    var ph = (PlaceHolder)e.Item.FindControl("pHolder");
    var lbn = (LinkButton)e.Item.FindControl("btnGroup");

    panel.DefaultButton = lbn.ID;
    panelT.DefaultButton = lbn.ID;        
}
using System.Web.UI.WebControls;

....

protected void rptVisitedItem_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
    ....
    LinkButton lbn = (LinkButton)e.Item.FindControl("btnGroup");
    lbn.Attributes.Add("onkeypress", "__doPostBack('<%= lbn.UniqueID %>', '')");
    ....
}
<asp:Panel DefaultButton="btnGroup" runat="server" ID="editLinkButton">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:LinkButton ID="btnGroup" runat="server" Text="Test me" CommandName="selectGroup" CommandArgument='<%# Eval("VisitID") %>' />
</asp:Panel>