我使用PagedList.Mvc爲我的數據創建Ajax分頁。不過,在部分視圖返回之後,我在添加到data-href屬性中的URL.Action時遇到問題。MVC 5 - URL.Action路徑綁定問題
當頁面第一次加載時,這個問題不會發生,只有在我使用分頁結果發出ajax請求後,url.action似乎沒有正確綁定。
這就是URL.Action應該鏈接到(注意,「路線」屬性)的操作:我的Html.Action加入到這個行動
[Route("Project/{code}/Request/{number}")]
public ActionResult Details(string code, int number)
{
if (number == 0 || code == null) return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
var viewModel = _requestLogic.GetIrDetailsViewModel(code, number);
if (viewModel == null) return HttpNotFound();
return View(viewModel);
}
在主視圖:
[HttpGet]
public PartialViewResult GetProjectRequests(string code, int page = 1, int pageSize = 10)
{
var viewModel = _requestLogic.GetRequestsForProject(code, page, pageSize);
return PartialView("_ProjectRequestsList", viewModel);
}
此操作也被ajax調用用於表分頁,因此也是page和pageSize參數。
內我呈現與該模型的數據的表這個局部視圖,加上像這樣,以每行的數據-href屬性:
@foreach (var item in Model)
{
<tr class='clickable-row' data-href='@Url.Action("Details", new {number = item.RequestNo})'>
<td>....
}
這將使得該數據href屬性,像這樣:
但是,我做了一個成功的Ajax調用和部分的HTML被替換。該屬性值不以相同的方式解析。
它結束了是這樣的:
任何想法,爲什麼發生這種情況?
我將雙擊屬性綁定到任何具有類.clickable-row的行,這就是使用此data-href屬性的行。因此,爲什麼我需要這個工作。
乾杯,
您是否嘗試過將'Route'添加到您的'GetProjectRequests'部分視圖? –
輝煌!似乎已經對它進行了排序@RosdiKasim我將路線的第一部分添加到局部視圖動作,現在意味着它的綁定正確。 –
很高興爲你效勞。 –