HTML로 MVC 부분 뷰를 반환하는 목적은 내 면도기 템플릿보기로 전달되는 뷰 모델에서 모든 것을로드하는 것입니다.왜 MVC 부분 뷰에서 반환 된 html 결과를 파싱 할 수 없습니까?
그러나 저는이 html 모델 데이터를 내 아약스 호출에서 내보기로 선택적으로로드하려고합니다.
var modelHTML = $.parseHTML(viewModelData);
내가 한 단계 더 가고 싶어하고 수행 : 내가 jQuery를 사용하여 쿼리 가능 아마도 뭔가에 포맷되지 않은 HTML을 구문 분석 조각 인을 제외하고,이 물건을 구문 분석에 제로 문서를 발견했다
var elements = $('<div></div>');
elements.html(modelHTML);
var matchingOption = $(elements).find("#selectListID option:first");
alert(matchingOption.val);
하지만이 번뜩한 지껄 거리는 소리가납니다. json 결과를 반환하는 대신 viewmodel을 전달하는 부분 뷰 결과에서 반환 된 HTML을 구문 분석 할 수있는 방법이 있습니까?
여기 내 컨트롤러 코드의 요점이다 :
public ActionResult _MyPartialView(_PartialViewModel pvm)
{
_PartialViewModel _pvm = pvm;
_pvm.shapesList = new List<SelectListItem>();
foreach(var item in context.shapesEntity.Where(x => x.shapeName.HasValue))
{
_pvm.ShapesList.Add(new SelectListItem { Value = item.id, Text = item.name});
}
return PartialView("_myPartialView", _pvm);
}
참고 : 나는 성공적으로 DIV의 HTML 내 부분보기의 HTML을 대체했다. 그래서 그 작품과 사람들이 부분보기 HTML 결과를 사용하는 방법입니다. 하지만 나는 jquery로 이것을 쿼리하고 내가 원하는만큼 결과를 사용하고 싶다.
컨트롤러 코드를 보여줄 수 있습니까? – Shriike
@Shriike 수정 사항을 참조하십시오. 감사합니다 :) – Rachael
이제 더 많은 디버깅 도구가 있고 구문 오류에 대한 대답을 얻었습니다. $ .parseHTML()은 실제로 불필요하다는 점에 유의하고 싶습니다. Jquery는 viewmodel html 데이터를 모두 쿼리 할 수 있습니다. – Rachael