간단한 프로젝트 추적 웹 사이트를 개발 중입니다. "Project"에는 "Tasks"가 있고 "Task"에는 "Subtasks"가 있습니다. 기본 스캐 폴딩에서 "작업"을 만들 때 "작업"의 "프로젝트 ID"필드를 수동으로 선택해야합니다. "프로젝트 세부 정보"보기에서 "작업"만 만들 수 있도록 설정하고 싶습니다. 새 작업을 만들 때 "ProjectId"를 수동으로 선택할 필요가 없도록 어떻게 만들 수 있는지 궁금합니다. 다음은 조각 :만들기 작업에 외래 키 값 보내기
자동으로 비주얼 스튜디오에 의해 생성 된이 작업에 대한 Create.cshtml의 일부입니다
<div class="editor-label">
@Html.LabelFor(model => model.ProjectId, "Project Id")
</div>
<div class="editor-field">
@Html.DropDownList("ProjectId", String.Empty)
@Html.ValidationMessageFor(model => model.ProjectId)
</div>
이 내가 수동으로 프로젝트 ID를 선택해야 드롭 다운 상자 결과 .
public ActionResult Create()
{
ViewBag.ProjectId = RouteData.Values["Id"];
ViewBag.StatusId = new SelectList(db.Status, "Id", "Name");
ViewBag.TaskTypeId = new SelectList(db.TaskTypes, "Id", "Name");
return View();
}
어딘가에 내가 myTask을 설정해야 할 것입니다 : 내가 좋아하는 것이 무엇
public ActionResult Create()
{
ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Id");
ViewBag.StatusId = new SelectList(db.Status, "Id", "Name");
ViewBag.TaskTypeId = new SelectList(db.TaskTypes, "Id", "Name");
return View();
}
이 같은 것입니다 :
이는 "작업"컨트롤러에서 기본 "만들기"작업입니다. ProjectId = ViewBag.ProjectId입니다. 그러나 나는 어디 있는지 모른다. 이것을 수행하는 것이 올바른 방법일까요? 아니면 더 좋은 방법이 있습니까? ProjectId
의 기본 설정 값
덕분에
'Create' 페이지를로드 할 때 실제로'ProjectId' 드롭 다운의 기본 선택 값을 설정 하시겠습니까? 이 올바른지? – mattytommo
. 그것을 할 수있는 더 좋은 방법이 없다면. – Gerson