嗨,我被困在一个代码中,我不知道我做错了什么。 这就是我在错误块中得到的结果。
这是函数调用
function GetDocumenttList(FID, CID) {
var fURL = "/ClaimEdit/AllDocumentList";
if (FID && CID) {
$.ajax({
type: 'GET',
url: fURL,
dataType: "html",
async: false,
data: { "folderID": FID, "claimID": CID, "page": 1 },
contentType: "application/json; charset=utf-8",
success: function (result) {
$('#partialdivDocumentList').html(result);
$('#partialdivDocumentList').css('display', 'block');
//....Now update Navigation List start.
$.ajax({
type: 'GET',
url: '/ClaimEdit/NavigationList',
datatype: "text",
async: false, data: { "parentID": FID, "claimID": CID },
contentType: "application/json; charset=utf-8",
success: function (result) {
$('#divNavigationList').html(result);
}
});
//....Now update Navigation List end.
},
error: function (request, status, error) {
alert(request.responseText);
}
});
}
}
这是视图“AllDocumentList.cshtml”
@model PagedList.IPagedList<CRM.Core.ViewModel.Claim.ClaimDocumentViewModel>
@using PagedList.Mvc;
<table class="table-grid-3" cellpadding="0" cellspacing="0" border="0" width="100%">
<thead>
<tr>
<th width="60%">
Document
</th>
<th width="20%">
Date
</th>
<th width="20%">
User Name
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Ajax.ActionLink(item.ClaimDocumentName, "DocView", new { claimDocID = item.ClaimDocumentID, path = item.ClaimDocumentPath + item.ClaimDocumentName }, new AjaxOptions() { HttpMethod = "GET", UpdateTargetId = "divPartidalDocView", InsertionMode = InsertionMode.Replace })
</td>
<td>
@Html.DisplayFor(modelItem => item.ClaimDocumentUploadDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
</tr>
}
</tbody>
</table>
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("AllDocumentList", new { page, folderID = ViewBag.folderID, claimID = ViewBag.claimID }), PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "partialdivDocumentList" }))
最后这是我的行动。
public ActionResult AllDocumentList(int folderID, int claimID, int? page)
{
ViewBag.folderID = folderID;
ViewBag.claimID = claimID;
Mapper.CreateMap<ClaimDocument, ClaimDocumentViewModel>();
var folderList = _ClaimDoc.GetClaimDocumentListByFolderIDClaimID(claimID, folderID);
var folderListModel = folderList.OrderBy(x => x.ClaimDocumentID).ToList();
var pageNumber = (page ?? 1);
return PartialView(folderListModel.ToPagedList(pageNumber, Common.Constants.PageSize));
}
我遇到了这个错误,我的部分视图AllDocumentList无法找到,同时搜索其添加“\ u0027” 我在MVC中不是一个大块头,所以如果问一些愚蠢的话,请袒露我。
答案 0 :(得分:0)
从您的评论中我看到您的视图位于区域中,但错误消息显示正在从非区域位置(即网站的根目录)调用或搜索它。
有两件事要尝试:
/Views/Shared
文件夹中。答案 1 :(得分:-1)
\ u0027引用单引号。您应该尝试对字符串进行编码或使用JSON.NET按原样发送编码字符串。
答案 2 :(得分:-1)
最后,我现在能够克服这种情况。我知道这不是好的做法,但在得到任何正确答案之前,我会喜欢用这个技巧。 我正在使用完整路径来查看我的部分视图。 有点像:
return PartialView("~/Areas/Claims/Views/ClaimEdit/AllDocumentList.cshtml", folderListModel.ToPagedList(pageNumber, Common.Constants.PageSize));
如果有人能更好地解决这个问题,我还是会等待。我也不知道为什么在行动中我必须给出部分视图的完整路径(在这个控件中只有我没有这种类型的问题)