2011-12-09 32 views
0

我需要簡化此代碼以避免硬編碼。我的意思是變量baseUrl簡化asp.net中的代碼mvc 3

<div class="pagination"> 
     @{ 
      int pageIndex = ViewBag.PageIndex; 
      int pageSize = ViewBag.PageSize; 
      int rowsCount = ViewBag.TotalRecords; 
      string locale = ViewBag.Locale; 
      string baseUrl = pageIndex == 1 ? 
       Request.RawUrl + "/page" : 
       string.Format("/{0}/tags/{1}/page", locale, Request.RequestContext.RouteData.Values["tag"]); 
     } 
     @Html.Pager(baseUrl, pageIndex, pageSize, rowsCount) 
    </div> 

回答

1

也許你有路線處理這樣的網址。所以使用@Url.RouteUrl("routename", route_data)在路線日期,你將把所有必要的值:

string baseUrl = Url.RouteUrl("routename", new { tags = locale, page = Request.RequestContext.RouteData.Values["tag"] });