次のようなクラス関数があります。このクラスを使用してマスターページに呼び出したいと思います。次に、ページのログインとログアウトの時間をデータベースに保存しました。
namespace LogInLogOut
{
public partial class LogInLogOut : System.Web.UI.Page
{
public static void updateLogoutTime(string username, string pcname, string module)
{
String connectionString = ConfigurationManager.ConnectionStrings["VSConfigConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("UPDATE [Access] set LogOutDate = '" + DateTime.Today.ToString("dd/MM/yyyy") + "', LogOutTime = '" + DateTime.Now.ToString("HH:mm:ss") + "' WHERE LoginID ='" + username + "' AND ModuleID = '" + module + "' AND comptname ='" + pcname + "' AND LogOutDate= ' '", connection);
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
cmd.Connection.Dispose();
}
}
}
ポップアップ メッセージを実行するためのマスター ページのコードを次に示しますが、上位クラスを呼び出すための呼び出し関数をマスター ページに記述する方法がわかりません。誰かがこの問題について私を助けてくれることを願っています。ありがとうございました。
protected void Page_Load(object sender, EventArgs e)
{
string csname = "timeoutWarning";
Type cstype = this.GetType();
if (!Page.ClientScript.IsStartupScriptRegistered(cstype, csname))
{
string strconfirm = "<script>" +
"window.setTimeout('SessionTimeOutHandler()', 10000);" +
"function SessionTimeOutHandler() { " +
"alert('Your login session is expired');" +
"function(){ update(document.LogInLogOut('lblUserName.Text', 'lblComputerName.Text', 'UR')); } " +
"window.location='../login.aspx';" +
" } </script>";
Page.ClientScript.RegisterStartupScript(cstype, csname, strconfirm, false);
}
}