Asp.net mvc 如何更改ASP.net MVC URL

Asp.net mvc 如何更改ASP.net MVC URL,asp.net-mvc,pagination,asp.net-mvc-routing,Asp.net Mvc,Pagination,Asp.net Mvc Routing,有没有一种简单的方法来生成一个新的路由URL,而不需要所有这些faff 我目前正在处理几个到同一视图的路由,所有这些路由都以 /{pagenumber} 我所要做的就是把所有的内容都删除回最后一个反斜杠,并替换数字 我试图避免使用URL生成器,因为分页似乎有点过分,但欢迎所有建议 这是我用来分页的方法 #region Create View Pagination /// <summary> /// Create Pagination For Display /// </summ

有没有一种简单的方法来生成一个新的路由URL,而不需要所有这些faff

我目前正在处理几个到同一视图的路由,所有这些路由都以 /{pagenumber}

我所要做的就是把所有的内容都删除回最后一个反斜杠,并替换数字

我试图避免使用URL生成器,因为分页似乎有点过分,但欢迎所有建议

这是我用来分页的方法

#region Create View Pagination
/// <summary>
/// Create Pagination For Display
/// </summary>
/// <param name="TotalPgs"></param>
/// <param name="currentPg"></param>
/// <returns></returns>
private string pagnationStr(int TotalPgs, int currentPg)
{
    string tmp = "";
    string URLX = "";

    URLX = string.Format("{0}", base.Request.Url);

    int pageSet = 10;

    //Previous Link
    if (currentPg > 1) tmp += "<li><a href='" + URLX + (currentPg - 1) + "'>Previous</a></li>";

    //Standard Pagination
    tmp += "<ul class=\"pagination\">";
    for (int i = currentPg; i < TotalPgs; i++)
    {
        tmp += "<li><a href='" + URLX + i + "'>" + i.ToString() + "</a></li>";
        if (pageSet < 1) break;
        pageSet--;
    }
    tmp += "</ul>";

    return tmp;
}
#endregion
#区域创建视图分页
/// 
///为显示创建分页
/// 
/// 
/// 
/// 
专用字符串pagnationStr(int TotalPgs,int currentPg)
{
字符串tmp=“”;
字符串URLX=“”;
URLX=string.Format(“{0}”,base.Request.Url);
int pageSet=10;
//上一链接
如果(当前pg>1)tmp+=“
  • ”; //标准分页 tmp+=“
      ”; 对于(int i=currentPg;i”; 如果(页面集<1)中断; 页面集--; } tmp+=“
    ”; 返回tmp; } #端区
    • 这些信息通常来自于应用程序设置,我已经用完整的数字替换了它们

      • 路由有两种工作方式-它将接收请求url并匹配正确的资源,或者您可以请求路由根据您拥有的参数生成url

        RouteCollection.GetVirtualPath(
                                        context, 
                                        new RouteValueDictionary(
                                               {param1name, param1value},
                                               {param2name, param2value}...
                                         )
                                       );
        
        这将根据您的参数值为您生成所需资源的URL。
        如果您传入“controller”=“whatever”、“action”=“whatever”和“pagenumber”=currentpg,您应该可以获得所需的URL,而无需手动解析URL。如果您的路线在将来发生变化,这也更具可扩展性

        传递到GetVirtualPath中的、路由匹配未使用的任何额外参数都将作为querystring参数追加