gpt4 book ai didi

c# - asp.net 中的 SEO 友好 URL

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:33:38 25 4
gpt4 key购买 nike

我正在创建一个 Web 应用程序。有一个默认页面,其中包含问题列表。当用户单击将重定向到用户到 Question 文件夹中的 ViewQuestion 的问题时。在 default.aspx 页面上,我使用数据列表控件来显示问题标题。在那里我生成了问题的 id 的 url。对于此代码如下。

 protected void listQuestion_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lnkTitle = (LinkButton)e.Item.FindControl("lnkQuestion");
// lnkTitle.Style.Add("text-decoration", "none");
PostEntity Item = (PostEntity)e.Item.DataItem;
lnkTitle.PostBackUrl = GenerateURL(Item.Title, Item.Id);
}
}

public static string GenerateURL(string title, int Id)
{
string strTitle = title.Trim();
strTitle = strTitle.ToLower();
//strTitle = strTitle.Replace();
strTitle = strTitle.Replace(" ", "-");
strTitle = strTitle.Trim();
strTitle = strTitle.Trim('-');
strTitle = "~/Questions/ViewQuestion.aspx?QuestionID=" + Id.ToString().Trim() + "/" + strTitle + ".aspx";

return strTitle;
}

global.asax 中的代码是

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup

RegisterRoute(RouteTable.Routes);

}

static void RegisterRoute(RouteCollection route)
{
route.MapPageRoute("Default", "Default", "~/Default.aspx");
route.MapPageRoute("ViewQuestion", "Questions/ViewQuestion{QuestionID}", "~/Questions/ViewQuestion.aspx");
}

获取查询字符串的viewpage如下:

lblQustionText.Text = this.Page.RouteData.Values["QuestionID"].ToString() as string; // giving me object reference exception 

我的 pageurl 是这样生成的

/Questions/ViewQuestion.aspx?QuestionID=1376/get-the-current-logged.aspx

我怎样才能为 SEO 友好的 url 制作这个例子。感谢您的回答。

最佳答案

您的代码有两处似乎是错误的:

  1. 您的页面路由可能应该在页面名称 (ViewQuestion) 和问题 ID 之间包含一个正斜杠:

    问题/ViewQuestion/{QuestionID}

  2. 您生成的页面 URL 与路由不匹配,它不应包含 aspx 后缀并且路由参数和查询参数的顺序混淆。应该是这样的

    String.Format("~/Questions/ViewQuestion/{0}?QuestionID={1}", strTitle, Id.ToString().Trim())

    <

作为旁注,我发现您包含一个与路由参数同名的查询参数有点令人困惑。我的建议是对两者都使用路由参数,stackoverflow 风格:

/Questions/ViewQuestion/numerical-id/question-description

关于c# - asp.net 中的 SEO 友好 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30730763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com