2015-07-28 26 views
-1

Я разрабатываю веб-страницу, и когда вы регистрируетесь и авторизуетесь, вам необходимо заполнить свою информацию (имя, фамилия, должность, пол). Я создал хранимую процедуру:Как получить идентификатор пользователя

ALTER PROCEDURE [dbo].[añadirinfocontacto] 
    @id int,@apellidoP nvarchar(50),@apellidoM nvarchar(50),@nombre nvarchar(50),@idEspecialidad int,@sexo nvarchar(10) 
AS 
BEGIN 
    if(@id=1) 
    begin 
    update Tbl_alumnos set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected] 
    end 
    else 
    if(@id=2) 
    begin 
    update Tbl_Maestros set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected] 
    end 
    else 
    begin 
    update Tbl_Administradores set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected] 
    end 

END 

Код:

public static EntUsuario Actualizar(int idU,string nombre, string Apellidop,string ApellidoM,int IdEsp,string sexo) 
{ 
    EntUsuario obj = null; 
    SqlCommand cmd = null; 
    SqlDataReader dr = null; 
    try 
    { 
     Conexion cn = new Conexion(); 
     SqlConnection cnx = cn.conectar(); 
     cmd = new SqlCommand("añadirinfocontacto", cnx); 
     cmd.Parameters.AddWithValue("@id", idU); 
     cmd.Parameters.AddWithValue("@nombre", nombre); 
     cmd.Parameters.AddWithValue("@apellidoP", Apellidop); 
     cmd.Parameters.AddWithValue("@apellidoM", ApellidoM); 
     cmd.Parameters.AddWithValue("@idEspecialidad", IdEsp); 
     cmd.Parameters.AddWithValue("@sexo", sexo); 
     cmd.CommandType = CommandType.StoredProcedure; 

     cnx.Open(); 
     cmd.ExecuteNonQuery(); 
     cnx.Close(); 


    } 
    catch (Exception e) 
    { 
     obj = null; 

    } 
    finally 
    { 
     cmd.Connection.Close(); 
    } 
    return obj; 

} 

И событие кнопки Cick

protected void btnConfirmar_Click(object sender, EventArgs e) 
     { 
      Guid guid = (Guid)Membership.GetUser().ProviderUserKey; 
      EntUsuario obj = GbUsuario.Actualizar(Convert.ToInt32(guid),txtNombre.Text,txtApP.Text,txtApM.Text,Convert.ToInt32(dpEspecialidad.SelectedValue),RadioButtonList1.SelectedValue); 

     } 

Я хочу получить от ID пользователя, но я не знаю, что делать, я читал о сеансе ["user_id"], Memberhip.getUser, я также читал, что мне нужно настроить web.config.

Если я использую пример код выше я использую Membership.GetUser, но появляется сообщение об ошибке сказав, что она не может в базу данных свяжется

ответ

0

enter code here Вы можете получить текущий пользователь с помощью следующего кода:

var user = System.Web.HttpContext.Current.User 

Вы можете заставить пользователей зарегистрироваться, добавив это в web.config:

<configuration> 
    <system.web> 
     <authentication mode="Windows" /> 
     <authorization> 
      <deny users="?"/> 
      </authorization> 
    </system.web> 
</configuration> 
Смежные вопросы