Una pagina aspx si rifa con codebehind ad un'altra così

<%@ Page Language="c#" codebehind="FormsAuth_Login.aspx.cs" autoeventwireup="false" Inherits="formsauthcookieless.FormsAuth_Login" %>


Io non ho capito questo ( :quipy: ): il file FormsAuth_Login.aspx.cs deve perciò essere stato compilato e deve trovarsi nella bin?
Se sì, come credo, il problema diventa questo: io uso webmatrix che NON fa la compilazione atomatica per ci devo farlo a mano. Il file FormsAuth_Login.aspx.cs è questo


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

using System.Web.Security;

namespace formsauthcookieless
{
/// <summary>
/// Descrizione di riepilogo per FormsAuth_Login.
/// </summary>
public class FormsAuth_Login : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox username;
protected System.Web.UI.WebControls.Button loginbtn;
protected System.Web.UI.WebControls.Label message;
protected System.Web.UI.WebControls.CheckBox persistent;
protected System.Web.UI.WebControls.Button btnCookieLessLogin;
protected System.Web.UI.WebControls.TextBox pass;

private void Page_Load(object sender, System.EventArgs e)
{
// Inserire qui il codice utente necessario per inizializzare la pagina.
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: questa chiamata richiesta da Progettazione Web Form ASP.NET.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Metodo necessario per il supporto della finestra di progettazione. Non modificare
/// il contenuto del metodo con l'editor di codice.
/// </summary>
private void InitializeComponent()
{
this.loginbtn.Click += new System.EventHandler(this.loginbtn_Click);
this.btnCookieLessLogin.Click += new System.EventHandler(this.btnCookieLessLogin_Click) ;
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void loginbtn_Click(object sender, System.EventArgs e)
{
if (FormsAuthentication.Authenticate(username.Text, pass.Text))
{
// se trova user e pass nel web.config esegue il sign in
// la chiamata a questo metodo, oltre che fare il redirect alla pagina
// richiesta dall'utente, rilascia un cookie di autenticazione sul client
FormsAuthentication.RedirectFromLoginPage(username .Text, persistent.Checked);
}
else
{
// altrimenti visualizza un mess. d'errore
message.Text = "Login fallito: inserire valore o modificare quello immesso";
}
}

private void btnCookieLessLogin_Click(object sender, System.EventArgs e)
{
string encryptedTicket = "";
string redirectUrl = "";

// con questo bottone si esegue il login, senza per rilasciare un cookie,
// me semplicemente creando un FormsAuthenticationTicket che verr allegato alla
// richiesta tramite parametro GET
// 1) verifico le credenziali immesse dall'utente
if (FormsAuthentication.Authenticate(username.Text, pass.Text))
{
// 2) instanzio un Ticket
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(username.Text, false, 30);

// 3) cripto il contenuto e lo immetto in una stringa
encryptedTicket = FormsAuthentication.Encrypt(ticket);

// 4) recupero il redirectUrl, cio la pagina che l'utente aveva richiesto prima della
// visualizzazione del form di authenticazione
redirectUrl = FormsAuthentication.GetRedirectUrl(username.Text, false);

// 5) adesso devo allegare la stringa che rappresenta il ticket cryptato come parametro GET
// all'url che verr utilizzato per il redirect
if (redirectUrl.IndexOf("?") == -1)
{
// se l'url NON conteneva alcun parametro GET
redirectUrl += "?" + FormsAuthentication.FormsCookieName + "=" + encryptedTicket;
}
else
{
// se l'url invece conteneva gi dei parametri GET, se ne aggiunge uno
redirectUrl += "&" + FormsAuthentication.FormsCookieName + "=" + encryptedTicket;
}

// 6) ed infine rediriggo l'utente alla pagina che aveva richiesto
Response.Redirect(redirectUrl);
}
else
{
// altrimenti visualizza un mess. d'errore
message.Text = "Login fallito, please try again";
}
}
}
}


CHE RAZZA DI RIGA DI COMANDO SI DEVE USARE???