Asp.net mvc 如何更改ASP.net MVC URL
有没有一种简单的方法来生成一个新的路由URL,而不需要所有这些faff 我目前正在处理几个到同一视图的路由,所有这些路由都以 /{pagenumber} 我所要做的就是把所有的内容都删除回最后一个反斜杠,并替换数字 我试图避免使用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
#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参数追加