Как отобразить назначенные роли, существующие на странице "код позади"
Я должен добавить три новые роли на веб-сайт школьной системы, чтобы пользователи в этих трех ролях видели правильную главную страницу. Ниже приведен код. Я назначил последние три роли (кафетерий, инженер-строитель и охранник):
public partial class WebForm1 : Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var username = User.Identity.Name; SqlConnection MyConnection = new SqlConnection("server=myserver\\sql2008;database=Schools;Trusted_Connection=True;"); SqlDataAdapter MyDataAdapter = new SqlDataAdapter("GetUserInfo", MyConnection); MyDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@userinfo", SqlDbType.VarChar, 40)); MyDataAdapter.SelectCommand.Parameters["@userinfo"].Value = (userinfo); MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@userrole", SqlDbType.VarChar, 40)); MyDataAdapter.SelectCommand.Parameters["@userrole"].Direction = ParameterDirection.Output; DataSet DS = new DataSet(); MyConnection.Open(); MyDataAdapter.Fill(DS, "UsersRole"); Session.Add("Role", DS); string userrole = null; userrole = MyDataAdapter.SelectCommand.Parameters[1].Value.ToString(); string role1 = "Principal"; string role2 = "AsstPrincipal"; string role3 = "SupportStaff"; string role4 = "FirstGrade"; string role5 = "SecondGrade"; string role6 = "ThirdGrade"; string role7 = "Cafeteria"; string role8 = "BuildingEngineers"; string role9 = "SecurityGuard"; if (userrole == role1) { Server.Transfer("PrincipalMP.aspx", true); } else if (userrole == role2) { Server.Transfer("AsstPrincipalMP.aspx", true); } else if (userrole == role3) { Server.Transfer("SupportStaffMP.aspx", true); } else if (userrole == role4) { Server.Transfer("FirstGradeMP.aspx", true); } else if (userrole == role5) { Server.Transfer("SecondGrade.aspx", true); } else if (userrole == role6) { Server.Transfer("ThirdGradeMP.aspx", true); } else if (userrole == role7) { Server.Transfer("CafeteriaMP.aspx", true); } else if (userrole == role8) { Server.Transfer("BuildingEngineersMP.aspx", true); } else if (userrole == role9) { Server.Transfer("SecurityGuardMP.aspx", true); } else { Server.Transfer("UnknownUser.aspx", true); } MyConnection.Close(); } } } The problem I have is when I log in as a member of Cafeteria, BuildEngineer, or Security Guard, I am not taken to their assigned page - I am taken to the Unknown User main page. I want to be sure the correct user role is actually being passed. How would I display that on the Unknown User Page? }
Что я уже пробовал:
Поиск в Google, технические доски
ZurdoDev
Как уже упоминалось в решении 1, это очень простая вещь для вас. Поставьте точку останова, а затем протестируйте ее. Вы узнаете, что является причиной этого быстрее,чем сможете опубликовать этот вопрос.