0
을 표시하려면 :MVC DropDownList로 얻기이 코드가 선택한 항목
@Html.DropDownList("ddlCouponsAppointment",
Model.Coupons.Select(a => new SelectListItem {
Text = a.Name,
Value = a.CouponId.ToString(),
Selected = (a.CouponId == Model.CouponForAppointmentReminders.CouponId)
}),
"None",
new { @class = "normalcell" })
이 나이를 위해 일했습니다. 이제는 클래스에 매핑되는 엔티티에서 ToString을 호출 할 수 없기 때문에 Google에서 알려주는 오류가 발생합니다 (이 클래스는 변경되지 않았으므로 이전에는 어떻게 작동했는지를 알 수 없습니다). 그래서 CouponIdStr이라는 문자열 표현 인 속성을 추가했습니다. 이것은 작동하지 않습니다 (b/c가 DB에 매핑되지 않습니다). 나는 값을 평등하게 string.Empty + a.CouponId (C#이 문자열로 연결하는 것처럼) 만들기를 시도했다. 그것은 폭발한다.
그래서 나는 노력이 :@Html.DropDownList("ddlCouponsAppointment",
new SelectList(Model.Coupons,
"Name",
"CouponId",
Model.CouponForAppointmentReminders.CouponId),
"None",
new { @class = "normalcell" })
이 작동하지만 선택한 항목을 표시하지 않습니다. 누구든지 어떤 제안이 있습니까?
두 번째 코드 블록에서 볼 수 없습니다. Selected = (a.CouponId == Model.CouponForAppointmentReminders.CouponId) 어떻게하면 @Html.DropDownList를 선택하여 무언가를 선택할 수 있습니까? –
당신은 무슨 일이 일어나고 있는지 놓치고 있습니다. SelectList 생성자는 선택한 값에 대한 매개 변수를 사용합니다. 이름과 쿠폰이 잘못 나온 것 같아요. 나는 대답을 게시하려했으나 그렇게하지 않았다. (나는 '대답'을 클릭하고 브라우징해서 대답을 보지 못했다.) 그래서 이것이 나의 결심을 찾지 못했지만 결의없이 여기 앉아있다. . 여전히 내가 볼 수있는 첫 번째 코드 블록이 작동하지 않는 이유를 알고 싶습니다. – cgraus