저는 MVC가 새로 도입되었으며 모든 것이 어떻게 작동하는지 이해하기 위해 완료 한 자습서를 편집하려고합니다. 원래이 자습서에는 영화 제목을 확인하는 매개 변수와 영화 장르를 검사하는 매개 변수로 검색 할 수있는 검색 기능이 있었으며 해당 매개 변수가있는 일치하는 값의 쿼리를 반환했습니다.null이 아닌 입력 오류가있는 컨트롤러 메서드 매개 변수를 변경하는 중
저는 배우 이름과 배우 나이 (int)로 검색하는 배우 검색을 시도하고 있습니다. 난 나이가 nullable 타입 문제를 계속 받고, 나는 int로 나이를 선언에서 모든 것을 시도했다., ToString() IsNullOrEmpty,하지만 아무것도 작동했습니다.
누군가이 문제를 해결하는 방법을 보여줄 수 있습니까?
다음은 자습서의 searchIndex 함수입니다. 시대의
public DateTime BirthDate { get; set; }//user input
public int Age
{
get {
return (int)(DateTime.Now - BirthDate).TotalDays/365;
}
내보기 : 아래
public ActionResult SearchIndex(string movieGenre, string searchString)
{
var GenreList = new List<String>();
var GenreQry = from d in db.Movies orderby d.Genre select d.Genre;
GenreList.AddRange(GenreQry.Distinct());
ViewBag.movieGenre = new SelectList(GenreList);
var movies = from m in db.Movies select m;
if (!String.IsNullOrEmpty(searchString))
{
movies = movies.Where(s => s.Title.Contains(searchString));
}
if (string.IsNullOrEmpty(movieGenre))
{
return View(movies);
}
else
{
return View(movies.Where(x => x.Genre == movieGenre));
}
}
내 버전 (INT의 나이와 문자열)
이
public ActionResult SearchIndex(int ageValue, string searchString)
{
var AgeList = new List<int>();
var AgeListQry = from d in db.Actors orderby d.Age select d.Age;
AgeList.AddRange(AgeListQry.Distinct());
ViewBag.ageValue = new SelectList(AgeList);
var actors = from a in db.Actors select a;
if (!String.IsNullOrEmpty(searchString))
{
actors = actors.Where(s => s.Name.Contains(searchString));
}
if ("Trying to see if Age is null - this fails on page load")
{
return View(actors);
}
else
{
return View(actors.Where(x => x.Age == ageValue));
}
}
모델에서 INT 시대의 내 초기화입니다 (두 개의 문자열) (여기서 int를 완벽하게 구현하는 방법을 모른다.
<p>
@Html.ActionLink("Create New", "Create")
@using (Html.BeginForm("SearchIndex","Movies",FormMethod.Get)){
<p>Age: @Html.TextBox("ageValue")
<p> Title: @Html.TextBox("SearchString")<br />
<input type="submit" value="Filter" /></p>
}
</p>
내가이 모든 것을 처음 접했을 때 어떤 도움이라도 대단히 감사하겠습니다.
감사합니다.
SearchIndex (int ageValue, string searchString)이 호출되었거나 ageValue가 제대로 읽히지 않는 위치에 게시 하시겠습니까? 생년월일은 어디에서 오는거야? –
@LIUFA 추가, 미안 해요, 난 여전히 MVC 주위에 내 머리를 포장 일반적으로 그냥보기 에서이 필요뿐만 아니라 실현. – Austin
"SearchString"은 "searchString"이어야합니다. 그래서 디버깅은 ageValue가 메서드에 제대로 전달되는 것입니까? 또한 GET을 사용하여 양식을 제출하는 이유는 무엇입니까? –