Я работаю над проектом, который состоит из имени входа и страницы, где он «показывает» переменные сеанса (так как они скрыты от пользователя).
Чего я хочу добиться, так это того, что вкладка Mostrar.aspx
активна, и у меня будет новая вкладка с тем же именем, которая выдаст мне сообщение о том, что вкладка уже активна.
прикрепленный пример кода:
Login.aspx:
protected void ButtonLogin_Click(object sender, EventArgs e)
{
string s= System.Configuration.ConfigurationManager.ConnectionStrings["AppComintecConnectionString"].ConnectionString;
SqlConnection conexion = new SqlConnection(s);
conexion.Open();
string query = "SELECT * FROM Usuarios where usuario = @username and contrasena = @password";
SqlCommand cm = new SqlCommand(query, conexion);
cm.Parameters.AddWithValue("@username", TextBox1.Text);
cm.Parameters.AddWithValue("@password", TextBox2.Text);
//Si existe un usuario con los datos retorna true, caso contrario false
var reader = cm.ExecuteReader();
if (reader.Read())
{
//Si existe, Bienvenido...
Session["nombre"] = reader["nombre"].ToString();
Session["id_usr"] = reader["id_usr"].ToString();
Session["area"] = reader["area"].ToString();
Session["tipo"] = reader["tipo"].ToString();
Session["permiso"] = reader["permiso"].ToString();
Session["mail"] = reader["mail"].ToString();
Session["puesto"] = reader["puesto"].ToString();
Session["sede"] = reader["sede"].ToString();
Response.Redirect("Mostrar.aspx");
}
else
{
LabelError.Visible = true;
LabelError.Text = "usuario o contraseña invalido !!";
LabelError.Attributes.Add("class", "alert alert-danger");
}
conexion.Close();
}
Show.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (Session["nombre"] == null || Session["id_usr"] == null || Session["area"] == null || Session["tipo"] == null || Session["permiso"] == null || Session["mail"] == null || Session["puesto"] == null || Session["sede"] == null)
{
Response.Redirect("Login.aspx");
}
else
{
resultado1Label.Text = Convert.ToString(Session["nombre"]);
resultado2Label.Text = Convert.ToString(Session["id_usr"]);
resultado3Label.Text = Convert.ToString(Session["area"]);
resultado4Label.Text = Convert.ToString(Session["tipo"]);
resultado5Label.Text = Convert.ToString(Session["permiso"]);
resultado6Label.Text = Convert.ToString(Session["mail"]);
resultado7Label.Text = Convert.ToString(Session["puesto"]);
resultado8Label.Text = Convert.ToString(Session["sede"]);
LabelAcept.Text = "Claramente estan cargadas las variables de sesion";
LabelAcept.Attributes.Add("class", "alert alert-success");
}
}
Может ли кто-нибудь немного помочь мне по этому вопросу?
В твоем program. Cs podrГ-схвати использовать:
private static void Main()
{
System.Threading.Mutex mutex = new System.Threading.Mutex(false, "MyUniqueMutexName");
try
{
if (mutex.WaitOne(0, false))
{
// Run the application
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmNombreX()); //En nombre X va el nombre de tu Frm Principal o la vista que estes mostrando en tu cargada.
}
else
{
MessageBox.Show("Ya me estoy ejecutando!"); //El Sms que tu le quieras colocar
}
}
finally
{
if (mutex != null)
{
mutex.Close();
mutex = null;
}
}
}
Предыдущий cГіdigo проверяет, чем между заданиями, который estГ©n прокручивая изображение в окне, не выполняет уже твою программу.