Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
Asp.net Image OnClick未触发,但按钮事件为_Asp.net_Webforms - Fatal编程技术网

Asp.net Image OnClick未触发,但按钮事件为

Asp.net Image OnClick未触发,但按钮事件为,asp.net,webforms,Asp.net,Webforms,我有下面的html和代码 当用户第一次点击页面时,我希望他们能够通过点击标志图标(在登录之前或之后)来选择自己的语言。事件应启动,并设置语言选择。然后,他们应该能够继续登录到站点(如果尚未登录)并执行他们需要的任何业务 然而,我的问题是,每当我点击任何标志图标时,就会显示登录和/或密码框错误消息(如果文本框为空),即使按钮点击没有触发 谁能告诉我哪里出了问题,因为我显然遗漏了什么(可能是显而易见的) 非常感谢您提供的任何帮助 问候 伊恩 .......... .......... ......

我有下面的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"/>