Asp.net Image OnClick未触发,但按钮事件为
我有下面的html和代码 当用户第一次点击页面时,我希望他们能够通过点击标志图标(在登录之前或之后)来选择自己的语言。事件应启动,并设置语言选择。然后,他们应该能够继续登录到站点(如果尚未登录)并执行他们需要的任何业务 然而,我的问题是,每当我点击任何标志图标时,就会显示登录和/或密码框错误消息(如果文本框为空),即使按钮点击没有触发 谁能告诉我哪里出了问题,因为我显然遗漏了什么(可能是显而易见的) 非常感谢您提供的任何帮助 问候 伊恩Asp.net Image OnClick未触发,但按钮事件为,asp.net,webforms,Asp.net,Webforms,我有下面的html和代码 当用户第一次点击页面时,我希望他们能够通过点击标志图标(在登录之前或之后)来选择自己的语言。事件应启动,并设置语言选择。然后,他们应该能够继续登录到站点(如果尚未登录)并执行他们需要的任何业务 然而,我的问题是,每当我点击任何标志图标时,就会显示登录和/或密码框错误消息(如果文本框为空),即使按钮点击没有触发 谁能告诉我哪里出了问题,因为我显然遗漏了什么(可能是显而易见的) 非常感谢您提供的任何帮助 问候 伊恩 .......... .......... ......
..........
..........
..............................................
有9个相同定义的图像图标
..............................................
..........
..........
//背后的代码是
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
获取语言();
lblSignedIn.Text=lblSignedIn+“
”+“是回发”;
}
其他的
{
lblSignedIn.Text=lblSignedIn+“
”+“是回发”;
}
}
受保护的无效imgbEnglish\u单击(对象发送者,图像单击事件参数e)
{
会话[“语言”]=“英语”;
lblCurrentLanguage.Text=“英语”;
}
受保护的void btnsupmit\u单击(对象发送者,事件参数e)
{
OleDbConnection con=新的OleDbConnection(odbcString);
OleDbCommand cmd=新的OleDbCommand();
string sqlString=“选择UPPER(VENCODE)、UPPER(密码)、COMPANY、QUALSITE、VENDSITE、CUSTSITE”+
“来自QUALITY.USERLIST”+
“其中,VENCODE='”+txtUserName.Text.ToUpper()+“'和”+
“密码='”+txtPWD.Text.ToUpper()+“'”+
“按代码订购”;
con.Open();
cmd.Connection=con;
cmd.CommandType=CommandType.Text;
cmd.CommandText=sqlString;
尝试
{
OleDbDataReader dsSite=cmd.ExecuteReader();
if(dsSite.HasRows)
{
lblSignedIn.Text=lblSignedIn+“
”+“已登录”;
}
其他的
{
lblSignedIn.Text=lblSignedIn+“
”+“登录失败”;
}
}
接住
{
}
con.Close();
}
设置
谢谢Ondrej。这就解决了问题。非常感谢。你给我留了一点头发。
<form id="form1"
runat="server">
<div style="position: absolute; right : 0px; right : 5%;"> <!-- The Language Icons -->
<asp:ImageButton id = "imgbEnglish"
runat = "server"
onserverclick = "imgbEnglish_Click"
ImageUrl = "~/images/Union Jack.jpg"
Width = "20px"
ToolTip = "English"
visible = "true"/>
..........
..........
..............................................
There are 9 image icons of the same definition
..............................................
..........
..........
</div> <!-- The Language Icons -->
<table align="center">
<tr>
<td colspan="2" height="200px"></td>
</tr>
<tr>
<td>
</td>
<td>
<b>
<asp:Label ID = "lblLoginBoxHeader"
runat = "server"
text = "Sign In">
</asp:Label>
</b>
</td>
</tr>
<tr>
<td>
<asp:Label ID = "lblUsername"
runat = "server"
text = "User Name">
</asp:Label>
</td>
<td>
<asp:TextBox ID="txtUserName"
runat="server"/>
<asp:RequiredFieldValidator ID="rfvUser"
ErrorMessage="Please enter a Username"
ControlToValidate="txtUserName"
runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label ID = "lblPassword"
runat = "server"
text = "Password">
</asp:Label>
</td>
<td>
<asp:TextBox ID="txtPWD"
runat="server"
TextMode="Password"/>
<asp:RequiredFieldValidator ID="rfvPWD"
runat="server"
ControlToValidate="txtPWD"
ErrorMessage="Please enter a Password"/>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="btnSubmit"
runat="server"
Text="Submit"
onclick="btnSubmit_Click" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Label ID = "lblSignedIn"
runat = "server"
text = "">
</asp:Label>
</td>
</tr>
</table>
// The code behind is
protected void Page_Load ( object sender, EventArgs e )
{
if (!IsPostBack)
{
getTheLanguage();
lblSignedIn.Text = lblSignedIn + "<br />" + "Is Postback";
}
else
{
lblSignedIn.Text = lblSignedIn + "<br />" + "Is Postback";
}
}
protected void imgbEnglish_Click ( object sender, ImageClickEventArgs e )
{
Session["Language"] = "English";
lblCurrentLanguage.Text = "English";
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(odbcString);
OleDbCommand cmd = new OleDbCommand();
string sqlString = "SELECT UPPER(VENCODE), UPPER(PASSWORD), COMPANY, QUALSITE, VENDSITE, CUSTSITE " +
"FROM QUALITY.USERLIST " +
"WHERE VENCODE = '" + txtUserName.Text.ToUpper() + "' AND " +
"PASSWORD = '" + txtPWD.Text.ToUpper() + "' " +
"ORDER BY VENCODE";
con.Open();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlString;
try
{
OleDbDataReader dsSite = cmd.ExecuteReader();
if (dsSite.HasRows)
{
lblSignedIn.Text = lblSignedIn + "<br />" + "Signed In";
}
else
{
lblSignedIn.Text = lblSignedIn + "<br />" + "Sign In Failed";
}
}
catch
{
}
con.Close();
}
CausesValidation="false"
<asp:ImageButton id = "imgbEnglish"
runat = "server"
onserverclick = "imgbEnglish_Click"
ImageUrl = "~/images/Union Jack.jpg"
Width = "20px"
CausesValidation="false"
ToolTip = "English"
visible = "true"/>