'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click' - I have the function..then why?

'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click' - I have the function..then why?

Post by Columbia P » Wed, 30 Jun 2004 14:41:56


i,

I'm trying to have a login page; after logging in the user has to see the list of SQL Server Databases available to him/her. I'm always getting the error

'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click'

I have the btnSignIn_Click function defined in a codebehind .cs file - The file name is Connect.aspx.cs. I made a DLL and have that DLL in the Bin subfolder (Bin\Connect.dll).

Here's the command I used for making the dll -

C:\Inetpub\wwwroot\xml\dotnet>csc /out:Connect.dll /r:System.dll,System.web.dll,System.Data.dll /t:library Connect.aspx.cs

Here's the code I wrote for Connect.aspx.cs
/**********************************************************************************/

using System;
using System.Web;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data.SqlTypes;
/// <summary>
/// Description of Class1.
/// </summary>
public class Connect : System.Web.UI.Page
{
public System.Web.UI.WebControls.TextBox txtLogin;
public System.Web.UI.WebControls.RequiredFieldValidator RFVLogin;
public System.Web.UI.WebControls.TextBox txtPassword;
public System.Web.UI.WebControls.RequiredFieldValidator RFVPassword;
public System.Web.UI.WebControls.Button btnSignIn;
public System.Web.UI.WebControls.Label Msg;

protected void Page_Load(object sender, EventArgs e){
if(!IsPostBack) {
Msg.Text = "Welcome. Enter your SQL Server user-name and password.";
}
}

protected void btnSignIn_Click(object Sender, EventArgs e){

if(Page.IsValid){
Session["uid"]=txtLogin.Text;
Session["pwd"]=txtPassword.Text;
SqlConnection conn = new SqlConnection("server=localhost;uid=" + txtLogin.Text + ";pwd=" + txtPassword.Text);
try {
conn.Open();
SqlCommand strsql = new SqlCommand("SELECT name FROM master.dbo.sysdatabases WHERE has_dbaccess(name) = 1 ORDER BY name ", conn);
SqlDataReader myreader;
myreader = strsql.ExecuteReader();
}
catch(SqlException sqlerr) {
Msg.Text=sqlerr.ToString();
}
}
}
}
/**********************************************************************************/



<pre>
<!--Here's the code page from where I'm referring this codebehind part. login.aspx ------------>


<%@ Page Language="c#" codebehind="Connect.aspx.cs" Trace="True" %>
<html>
<head>
</head>
<body style="FONT-FAMILY: arial">
<form runat="server">
<h2>Login Page
</h2>
<hr size="1" />
<table>
<tbody>
<tr>
<td>
Username:</td>
<td>
<asp:TextBox id="txtLogin" runat="server"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator id="RFVLogin" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserName"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
Password:</td>
<td>
<asp:TextBox id="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
</td>
 
 
 

'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click' - I have the function..then why?

Post by Martin Mar » Wed, 30 Jun 2004 15:48:20

ou have to rebuild the cs file and copy the builded .dll file in the bin
sub folder again

Regards
Martin

"Columbia Pike" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...
list of SQL Server Databases available to him/her. I'm always getting the
error
file name is Connect.aspx.cs. I made a DLL and have that DLL in the Bin
subfolder (Bin\Connect.dll).
/r:System.dll,System.web.dll,System.Data.dll /t:library Connect.aspx.cs
/***************************************************************************
*******/
txtLogin.Text + ";pwd=" + txtPassword.Text);
master.dbo.sysdatabases WHERE has_dbaccess(name) = 1 ORDER BY name ", conn);
/***************************************************************************
*******/
login.aspx ------------>
runat="server"></asp:TextBox>
runat="server" ErrorMessage="*" Display="Static"
ControlToValidate="UserName"></asp:RequiredFieldValidator>
TextMode="Password"></asp:TextBox>
runat="server" ErrorMessage="*" Display="Static"
ControlToValidate="UserPass"></asp:RequiredFieldValidator>
In" Runat="server"></asp:Button>
forecolor="red"></asp:Label>
head asking everyone, and Googling everything I can.



 
 
 

'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click' - I have the function..then why?

Post by Eliyahu Go » Wed, 30 Jun 2004 18:17:09

f you use OnClick attribute in the page's HTML view, the name is expected
to be on the page script and not in the code-behind. If you want to use a
handler in the code-behind, remove OnClick attribute, go to design view and
double-click the button. The code-behind will open on the right function. Or
you can select event handler in the button properties panel on Events tab.
Or you can do it without design view whatsoever. Just go to the code-behind
and add a line for registering the event-handling method for the Click
event of the button:
btnSignIn.Click += new EventHandler(this.btnSignIn_Click);

When you do it in the design view, this line is added to the automatically
generated InitializeComponent() method.

Eliyahu

"Columbia Pike" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...
list of SQL Server Databases available to him/her. I'm always getting the
error
file name is Connect.aspx.cs. I made a DLL and have that DLL in the Bin
subfolder (Bin\Connect.dll).
/r:System.dll,System.web.dll,System.Data.dll /t:library Connect.aspx.cs
/***************************************************************************
*******/
txtLogin.Text + ";pwd=" + txtPassword.Text);
master.dbo.sysdatabases WHERE has_dbaccess(name) = 1 ORDER BY name ", conn);
/***************************************************************************
*******/
login.aspx ------------>
runat="server"></asp:TextBox>
runat="server" ErrorMessage="*" Display="Static"
ControlToValidate="UserName"></asp:RequiredFieldValidator>
TextMode="Password"></asp:TextBox>
runat="server" ErrorMessage="*" Display="Static"
ControlToValidate="UserPass"></asp:RequiredFieldValidator>
In" Runat="server"></asp:Button>
forecolor="red"></asp:Label>
head asking everyone, and Googling everything I can.


 
 
 

'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click' - I have the function..then why?

Post by Jo Inferi » Wed, 30 Jun 2004 20:31:03


That's not actually true. I'm using

<% Page Inherits="myNamespace.myPage" %>

with a compiled codebehind page and I can assign event handlers with OnClick
just fine.

It seems like InitializeComponent is only there for the designer....

--
jo inferis
 
 
 

'ASP.login_aspx' does not contain a definition for 'btnSignIn_Click' - I have the function..then why?

Post by Eliyahu Go » Wed, 30 Jun 2004 22:25:00

Thank you for the correction about inheritance, you are right.

InitializeComponent does have a use in run-time. When you add event handlers
via design view, VisualStudio creates private methods in the code-behind and
doesn't create OnClick attribute in the aspx. Then it is InitializeComponent
that actually establishes links between controls and their event handlers.

Eliyahu




OnClick