威廉做以另一种方式!
请提供一个服务器端函数代码,可能是问题出在那里。如果服务器端处理程序没问题,那么你应该打开JavaScript控制台并检查是否有错误(如果是这样,那么重定向不会发生)。
并尝试使用此功能而不是您的按钮服务器单击。
$("#" + "<%= txtSearch.ClientID %>").keypress(function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) {
<%= scriptPostBackButton1 %>
}
}
在这个例子中,点击文本框上的'enter'会导致服务器端的点击处理程序与回发。这是你需要的行为吗?
代码隐藏:
public partial class _Default : System.Web.UI.Page
{
public string scriptPostBackButton1 = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
scriptPostBackButton1 =
ClientScript.GetPostBackEventReference(new PostBackOptions(clickableButton, "", "", false, false, true, true, true, ""));
}
}
protected void clickableButton_Click(object sender, EventArgs e)
{
string result = "ok, it's working";
}
}
Default.aspx的
<form id="Form1" runat="server">
<asp:TextBox ID="tbEnter" runat="server" onkeydown=" return clientHandler(event);" />
<asp:Button ID="clickableButton" runat="server" Text="click" Width="49px" />
</form>
尝试括起来在面板中设置面板的'defaultbutton'属性(该按钮),这应该触发按钮点击 – V4Vendetta
@ V4Vendetta这是值得作为它的答案slef –
@JonP添加它作为答案,但他已经接受了JQuery的方式:) – V4Vendetta