问题部分视图名称
问题描述:
嗨我被困在一个代码我不知道我做了什么错。 这是我得到的错误块。问题部分视图名称
这是函数调用
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));
}
我被困wiith这个错误在我的部分观点AllDocumentList没能找到,而寻找其加入“\ u0027” 我不是在MVC一大块,所以请给我生了如果问一些事情愚蠢。
答
\ u0027指的是单引号..你应该尝试编码字符串或使用JSON.NET,它发送编码的字符串,因为它是。
答
从您的评论我看到您的视图是生活在一个区域,但错误信息显示它正在从非区域位置(即网站的根目录)调用或搜索。
有要做两件事情:
- 确保控制器也是在该地区,并且该URL中包含的区域。
- 或者,如果这不能完成或不是你所需要的,那么你可能需要将视图移动到
/Views/Shared
文件夹中。
+0
嗨控制器也在同一地区。我可以在此控制器中访问其他具有操作的局部视图。 我不想将视图转移到共享文件夹。 –
答
最后我现在能够胜过这个场景。我知道这不是好的做法,但直到我得到任何正确的回应,我才喜欢用这个技巧。 我正在使用完整路径进行局部视图。 一些事情,如:
return PartialView("~/Areas/Claims/Views/ClaimEdit/AllDocumentList.cshtml", folderListModel.ToPagedList(pageNumber, Common.Constants.PageSize));
不过我等如果有一个人有这更好的解决方案。我也不知道为什么在行动中我必须给部分视图的完整路径(在这个控制中,否则我没有这种类型的问题)
不要评论你自己的问题,请更新它。 –
@AvneeshSrivastava是存储在〜/ Views/ClaimEdit文件夹中的AllDocumentList.cshtml视图吗? – wazdev
AllDocumentList.cshtml的位置是“〜\ Areas \ Claims \ Views \ ClaimEdit \ AllDocumentList.cshtml” –