0
詳細ビューに表示されたプロパティを使用してオブジェクトビューモデルからプロパティを取得しようとしています。取得しようとしているプロパティは、私のビューに記載されているsessionIdです。その値を引き出すコードが正しい値を返さない。デバッグ時にsessIDの値が0になる。私が間違っていることは何ですか?モデルのプロパティを「詳細」から取得するASP.Net MVC
マイモデル
public class SessionViewModel
{
public SessionViewModel()
{
}
public SessionViewModel(Session sessionDTO)
{
Id = sessionDTO.Id;
SessionTitle = sessionDTO.SessionTitle;
SessionDescription = sessionDTO.SessionDescription;
SessionPresenter = sessionDTO.SessionPresenter;
SessionLocation = sessionDTO.SessionLocation;
SessionRoom = sessionDTO.SessionRoom;
SessionDate = sessionDTO.SessionDate;
SessionOccupancy = sessionDTO.SessionOccupancy;
}
public int Id { get; set; }
public string SessionTitle { get; set; }
public string SessionDescription { get; set; }
public string SessionPresenter { get; set; }
public string SessionLocation { get; set; }
public string SessionRoom { get; set; }
public DateTime SessionDate { get; set; }
public int SessionOccupancy { get; set; }
public bool IsSelected { get; set; }
}
マイビューフォームが戻って任意の値を渡していない
[HttpPost]
public ActionResult RegisterFromDetailsVM(SessionViewModel sessionVM)
{
using (WSADDbContext context = new WSADDbContext())
{
//Capture logged in user info
int userID = context.Users.Where(x => x.Username == User.Identity.Name).Select(y => y.Id).FirstOrDefault();
string userName = context.Users.Where(x => x.Username == User.Identity.Name).Select(y => y.Username).FirstOrDefault();
string firstName = context.Users.Where(x => x.Username == User.Identity.Name).Select(y => y.FirstName).FirstOrDefault();
string lastName = context.Users.Where(x => x.Username == User.Identity.Name).Select(y => y.LastName).FirstOrDefault();
//Get the sessionId
int sessID = sessionVM.Id;
//Create the SubscribedSession DTO object
context.SubscribedSessions.Add(new SubscribedSession()
{
UserID = userID,
SessionID = sessID,
FirstName = firstName,
LastName = lastName,
Username = userName
});
//Save the changes
context.SaveChanges();
}
//return
return RedirectToAction("Index");
}
ありがとうジャセン。私はDisplayFor()とHiddenFor()の両方を使用して終了しました。 DisplayFor()は値を表示し、HiddenFor()は実際に値を自分のアクションに戻します。 – tmt32mj