У меня есть еще одна проблема. Мой метод:Проблема с методом
public StudentProfile GetFullStudentProfile(int userID)
{
SqlConnection conn = new SqlConnection(Config.DbConnectionString);
SqlCommand cmd = new SqlCommand("GetFullUserProfile", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@UserID", SqlDbType.Int));
cmd.Parameters["@UserID"].Value = userID;
StudentProfile sp = null;
try
{
conn.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (reader.Read())
{
sp = new StudentProfile((int)reader["UserID"], (string)reader["UserName"], (string)reader["UserFamilyName"], (DateTime)reader["UserBirthDay"], (string)reader["UserTelephone"], (string)reader["UserEmail"], (DateTime)reader["UserRegDate"], (string)reader["UserComment"], (bool)reader["UserActive"]);
}
reader.Close();
}
catch (Exception ex)
{
//lbl.Text = ex.Message;
}
finally
{
conn.Close();
}
return sp;
}
Код в WebUserControl:
protected void ddlStudents_SelectedIndexChanged(object sender, EventArgs e)
{
CatalogAccess ca=new CatalogAccess();
lblEmail.Visible = true;
lblName.Visible = true;
lblTelephone.Visible = true;
HiddenID.Value = ddlStudents.SelectedValue;
lblName.Text = HiddenID.Value;
lblEmail.Text = ca.GetFullStudentProfile(ddlStudents.SelectedIndex).UserEmail;
lblFamilyName.Visible = true;
lblBirth.Visible = true;
ddlStudents.Items.Clear();
PopulateStudentsDDL();
}
Когда я запускаю код, я получаю исключение
ли я понимаю правильно, что проблема заключается в методе GetFullStudentProfile()? Если это так, как это можно исправить?
Я думаю, что проблема:
StudentProfile sp = null;
Так он говорит, что переменная зр не была заполнена данными Ьгу блока. Это?
Теперь добавив класс листинг StudentProfile.cs:
public class StudentProfile
{ общественного StudentProfile (интермедиат идентификатор пользователя, строка имя_пользователя, строка userFamilyName, DateTime userBirthDay, строка userTelephone, строка USEREMAIL, DateTime userRegDate, строка UserComment, BOOL userActive) { UserID = userID; UserName = имя_пользователя; UserFamilyName = userFamilyName; UserBirthDay = userBirthDay; UserTelephone = userTelephone; UserEmail = userEmail; UserRegdate = userRegDate; UserComment = userComment; UserActive = userActive; }
public int UserID
{
get;
set;
}
public string UserName
{
get;
set;
}
public string UserFamilyName
{
get;
set;
}
public DateTime UserBirthDay
{
get;
set;
}
public string UserTelephone
{
get;
set;
}
public string UserEmail
{
get;
set;
}
public DateTime UserRegdate
{
get;
set;
}
public string UserComment
{
get;
set;
}
public bool UserActive
{
get;
set;
}
}
Установите точку останова на этой строке и перейдите в метод getfullstudentprofile. Это даст вам лучшее представление о том, где он сбой – Robert
Я сделал это. Как перейти к getfullstudentprofile? – NCFUSN
Я сделал скриншот IDE, но забыл, что вы не можете помещать скриншоты в комментарии. Если вы не изменили свои ярлыки, это будет F11. Если у вас есть, нажмите «Отладка» -> Шаг в – Robert