EditorFor() HTML 도우미에 대한 ID를 설정하는 방법 프레임 워크에서 생성 된 ID를 오버라이드하는 데이 메서드를 사용했습니다. @Html.EditorFor(model => model.cost, new { id = "checkCost" })
그러나 불행히도 id는 변경되지 않습니다. 즉
컨트롤러 동작시에 string d = Request.Form["checkCost"];
을 사용하면 null 값으로 채워지는 문자열입니다.
WHY ?? 또한 TextBoxFor로 EditorFor을 대체하지만 아무것도는 또한 컨트롤러가
asp.net에서 MVC3
<td >
@Html.DropDownList("check_master", "--select package--")
</td>
<td >
@Html.EditorFor(model => model.check_name)
@Html.ValidationMessageFor(model => model.check_name)
</td>
<td >
@Html.EditorFor(model => model.cost, new { id ="checkCost" })
@Html.ValidationMessageFor(model => model.cost)
</td>
업데이트 ID로 비용이 소요 변경되지 :
- 이 내 부분보기 내 주요이다 (렌더링을 partial from ajax.actionLink) 또한 EditorFor (model => mode.cost)를 보유합니다.
- 부분 뷰는 Check_master 테이블과 주 화면에 강력하게 입력됩니다. w는 package_master에 강력하게 입력됩니다. entitySet은 동일한 이름 속성 즉 "COST"를 보유합니다. 둘째 부분 및 기본보기 모두 EditorFor "cost"를 보유합니다.
- [Column ("check_cost")]
public Nullable cost {get; 세트; }
하지만이 속성 CheckCost 및 PackageCost를 단락 지을 거기에 그런 식으로 2 개보기 모델 만들기
model.something
왜 당신이 원하는 않습니다 이드를 바꾸려면? 기본 ID를 사용하면 기본 모델 바인딩이 활성화됩니다. 그것은 Request.Form [ "cost"]가 속성 비용 – heads5150
에 바인딩됩니다. b'coz 이것은 내 부분보기이며 내 기본보기 (ajax.actionLink에서 부분 렌더링)에도 EditorFor (model => mode.cost) – RollerCosta
이유 동일한보기에서 동일한 속성에 대해 두 개의 텍스트 상자가 있습니까? 본질적으로 동일한 속성을 편집 할 수있는 장소가 두 곳 있습니다. 텍스트 상자가 부분보기에 있으면 기본보기에서 꺼내십시오. – heads5150