здесь типичный пример, который будет работать в вашем конкретном случае .. и пусть вы знаете, как URL переписывания работы ..
добавить этот класс в свой веб-сайт asp.net папку App_Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text.RegularExpressions;
/// <summary>
/// Summary description for Class1
/// </summary>
public class URLRule
{
public string URLPateren { set; get; }
public string Rewrite { set; get; }
}
public class ListURL : List<URLRule>
{
public ListURL()
{
//may be you need to redefine this rule in order to make it mature.
URLRule obj = new URLRule();
obj.URLPateren = "/(.*)?/(.*)";
obj.Rewrite = "default.aspx?name=$2";
Add(obj);
//here you can add more rules as above..
}
public string Process(string str)
{
Regex oReg;
foreach (URLRule obj in this)
{
oReg = new Regex(obj.URLPateren);
Match oMatch = oReg.Match(str);
if (oMatch.Success)
{
string s = oReg.Replace(str, obj.Rewrite);
return s;
}
}
return str;
}
}
Теперь добавьте следующий фрагмент кода в global.asax , если вы уже не имеете, то добавить его от добавления нового элемента затем выберите «глобальный класс приложения»
protected void Application_BeginRequest(object sender, EventArgs e)
{
ListURL rewriter = new ListURL();
string re = rewriter.Process(Request.Path);
if (Request.Path != re)
{
HttpContext.Current.RewritePath(re);
}
}
и здесь вы можете проверить строковое значение вашего запроса на событие загрузки страницы default.aspx.
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString.HasKeys()) {
string queryvalue = Request.QueryString["name"];
Response.Write("User Name : " + queryvalue);
}
}
я попробовал этот URL и работает нормально ..
локальный: 3030/WEBSITE3/XYZ123
, если он не работает или с узором URL изменилось затем попытаться переопределить URLRule. здесь «xyz123» - это имя. Надеюсь, это сработает ...
Вы должны сделать это на стороне сервера (разбор URL, перенаправление и т. Д.). JS и jQuery не относятся к описанной ситуации. – Regent
Я думаю, что делать это с серверной стороны - это наилучшая практика .. probably вам нужно сделать это с переписыванием URL. –