배경 : 나는 3 개 부분 지문이있는 ASP.NET MVC 응용 프로그램 작업입니다수 없습니다
(면도기 엔진을 기반으로) 메인 페이지에. 첫 번째 부분에는 사용자가 채우는 검색 조건 목록이 있습니다. 두 번째 부분은 전달 된 데이터를 기반으로 ParameterParts 목록을 표시합니다. 세 번째 부분은 전달 된 데이터를 기반으로 사양 목록을 표시합니다. 내 두 번째 및 세 번째 부분보기를 채우기 위해 컨트롤러에서 메서드를 호출해야합니다.
문제 :
- PartialView 반환 오류 조건에 맞게 AJAX 호출이 발생합니다.
- void를 반환하면 성공 조건과 일치하지만 parameterResults를 채울 내용이 없습니다.
- json을 반환하면 성공 조건과 일치하지만 내 부분보기에서는 아무 것도 렌더링하지 않습니다.
- 내 partialview를 문자열로 변환하고 json (http://www.tugberkugurlu.com/archive/working-with-jquery-ajax-api-on-asp-net-mvc-3-0-power-of-json-jquery-and-asp-net-mvc-partial-views)으로 반환 할 수 있다면 작동하는 것으로 보이지만 회사 방화벽으로 인해 Nuget을 사용하여 라이브러리를 다운로드해야합니다. 모든 세 개의 부분 지문 첫 부분에 대한
<div class="prepend-top span-24 last" id="searchPage"> <div class="span-24 last"> @Html.Partial("_Search") </div> <div class="span-24 last" id="parameterResults"> @Html.Partial("_ParameterParts") </div> <div class="span-24 last" id="searchSpecResults"> @Html.Partial("_Specifications") </div> </div>
코드의 상위보기 (index.cshtml)에 대한
코드 (_Search.cshtml) :
// Post the object to the server using jQuery
$.ajax({
url: '@Url.Action("ParameterParts")',
type: 'POST',
dataType: 'html',
data: dataToPass,
error: function (data) { alert('Something Went Wrong'); },
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert('Success P');
$("parameterResults").html(data);
}
});
이 코드는 dataToPass 매개 변수를 사용하여 ParameterParts 메서드를 올바르게 호출합니다. 그대로 내가 3 부분을 포함하고 있지 않다
@model IEnumerable<SmartPlex.Web.SmartPlex.ODataService.ParameterPart>
<table>
<tr>
<th>
Part Number
</th>
<th>
Description
</th>
</tr>
@if (Model != null)
{
foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.PartNumber)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
</tr>
}
}
</table>
: 2 부분에 대한
[HttpPost]
public ActionResult ParameterParts(CriteriaViewModel vm)
{
List<ParameterPart> parameterParts = new List<ParameterPart>();
//Some logic to populate parameterParts using the passed in object
return PartialView("_ParameterParts", parameterParts);
}
코드 : 여기
은 내가 컨트롤러 방법을 위해 사용하고 코드입니다 두 번째와 동일합니다. 위 방법을 사용하여 부분 데이터를 어떻게 업데이트 할 수 있습니까?
감사합니다. BZ 정보입니다. HTML을 다시 기대하는 내 아약스 호출을 수정 한 후 반환되는 데이터를 경고하면 적절한 HTML을 얻습니다. 그러나 여전히 $ ("parameterResults") div 안에 html을 렌더링 할 수 없습니다. $ ("parameterResults") .html (data)이 아무 것도하지 않는 것 같습니다. – Yasir
@B Z, 도움이된다면 주보기와 두 번째 부분 코드도 추가했습니다. – Yasir
예 ... 선택기가 잘못되었습니다. 내가 혼자서 그것을 발견 할 수 없다는 것을 믿을 수 없다. 엄청 고마워. – Yasir