这次为BlogEngine的分类增加了自定义Url别名功能为BlogEngine的分类增加自定义Url别名功能

为BlogEngine的分类增加自定义Url别名功能

有疑问请留言,谢谢为BlogEngine的分类增加自定义Url别名功能

 

修改代码:

BlogEngine.Core.Category.cs

在56行
为BlogEngine的分类增加自定义Url别名功能        private string _Title;
        }

后添加:
为BlogEngine的分类增加自定义Url别名功能        private string _Slug;
        }

修改BlogEngine.Core.Providers.Categories.cs
public override void InsertCategory(Category category),
public override void UpdateCategory(Category category),
public override void DeleteCategory(Category category)
这些方法中作相应的修改
为BlogEngine的分类增加自定义Url别名功能                foreach (Category cat in categories)
                }


修改public override List<Category> FillCategories()方法:
在               
category.Id = new Guid(node.Attributes["id"].InnerText);
category.Title = node.InnerText;

后添加
为BlogEngine的分类增加自定义Url别名功能if (node.Attributes["slug"] != null)
为BlogEngine的分类增加自定义Url别名功能    category.Slug
= node.Attributes["slug"].InnerText;
为BlogEngine的分类增加自定义Url别名功能
else
为BlogEngine的分类增加自定义Url别名功能    category.Slug
= string.Empty;

修改BlogEngine.Core.Web.HttpModules.UrlRewrite.cs中的private static void RewriteCategory(HttpContext context, string url)
为BlogEngine的分类增加自定义Url别名功能        private static void RewriteCategory(HttpContext context, string url)
        }

修改BlogEngine.Web/App_Code/Controls/CategoryList.csprivate HtmlGenericControl BindCategories()这个方法
129行开始:
为BlogEngine的分类增加自定义Url别名功能    HtmlAnchor anc = new HtmlAnchor();
为BlogEngine的分类增加自定义Url别名功能    
//anc.HRef = Utils.RelativeWebRoot + "category/" + Utils.RemoveIllegalCharacters(key) + BlogSettings.Instance.FileExtension;
为BlogEngine的分类增加自定义Url别名功能
                anc.HRef = Utils.RelativeWebRoot + "category/" + Utils.RemoveIllegalCharacters(GetSlug(new Guid(dic[key].ToString()))) + BlogSettings.Instance.FileExtension;
为BlogEngine的分类增加自定义Url别名功能    anc.InnerHtml
= HttpUtility.HtmlEncode(key) + postCount;
为BlogEngine的分类增加自定义Url别名功能    anc.Title
= "Category: " + key;

修改BlogEngine.Web/admin/pages/Categories.aspx
在"<asp:TextBox runat="Server" ID="txtNewCategory" Width="200" /><br />"后添加:
为BlogEngine的分类增加自定义Url别名功能    <asp:Label ID="lblNewSlug" runat="server" AssociatedControlID="txtNewSlug" Text="Slug" /><br />
为BlogEngine的分类增加自定义Url别名功能    
<asp:TextBox runat="Server" ID="txtNewSlug" Width="200" /><br />


在" 
为BlogEngine的分类增加自定义Url别名功能           <asp:TemplateField HeaderText="<%$ Resources:labels, name %>">
为BlogEngine的分类增加自定义Url别名功能                
<ItemTemplate>
为BlogEngine的分类增加自定义Url别名功能                    
<%# Server.HtmlEncode(Eval("title").ToString()) %>
为BlogEngine的分类增加自定义Url别名功能                
</ItemTemplate>
为BlogEngine的分类增加自定义Url别名功能                
<EditItemTemplate>
为BlogEngine的分类增加自定义Url别名功能                    
<asp:TextBox runat="server" ID="txtTitle" Text='<%# Eval("title") %>' />
为BlogEngine的分类增加自定义Url别名功能                
</EditItemTemplate>
为BlogEngine的分类增加自定义Url别名功能            
</asp:TemplateField>
"后添加:
为BlogEngine的分类增加自定义Url别名功能            <asp:TemplateField HeaderText="Slug">
为BlogEngine的分类增加自定义Url别名功能                
<ItemTemplate>
为BlogEngine的分类增加自定义Url别名功能                    
<%# Server.HtmlEncode(Eval("slug").ToString())%>
为BlogEngine的分类增加自定义Url别名功能                
</ItemTemplate>
为BlogEngine的分类增加自定义Url别名功能                
<EditItemTemplate>
为BlogEngine的分类增加自定义Url别名功能                    
<asp:TextBox runat="server" ID="txtSlug" Text='<%# Eval("slug") %>' />
为BlogEngine的分类增加自定义Url别名功能                
</EditItemTemplate>
为BlogEngine的分类增加自定义Url别名功能            
</asp:TemplateField>

修改BlogEngine.Web/admin/pages/Categories.aspx.cs中 void btnAdd_Click(object sender, EventArgs e)这个方法
Category cat = new Category(txtNewCategory.Text, description);改成
为BlogEngine的分类增加自定义Url别名功能string slug = txtNewSlug.Text;
为BlogEngine的分类增加自定义Url别名功能            
if (slug.Length > 255)
为BlogEngine的分类增加自定义Url别名功能                slug
= slug.Substring(0, 255);
为BlogEngine的分类增加自定义Url别名功能Category cat
= new Category(txtNewCategory.Text, description, slug);

修改 void grid_RowUpdating(object sender, GridViewUpdateEventArgs e)方法:
 

为BlogEngine的分类增加自定义Url别名功能  Guid id = (Guid)grid.DataKeys[e.RowIndex].Value;
为BlogEngine的分类增加自定义Url别名功能  TextBox textboxTitle
= (TextBox)grid.Rows[e.RowIndex].FindControl("txtTitle");
为BlogEngine的分类增加自定义Url别名功能  TextBox textboxSlug
= (TextBox)grid.Rows[e.RowIndex].FindControl("txtSlug");//新增加的
为BlogEngine的分类增加自定义Url别名功能
  TextBox textboxDescription = (TextBox)grid.Rows[e.RowIndex].FindControl("txtDescription");
为BlogEngine的分类增加自定义Url别名功能  DropDownList ddlParent
= (DropDownList)grid.Rows[e.RowIndex].FindControl("ddlParent");
为BlogEngine的分类增加自定义Url别名功能  Category cat
= Category.GetCategory(id);
为BlogEngine的分类增加自定义Url别名功能  cat.Title
= textboxTitle.Text;
为BlogEngine的分类增加自定义Url别名功能  cat.Slug
= textboxSlug.Text;//新增加的
为BlogEngine的分类增加自定义Url别名功能
  cat.Description = textboxDescription.Text;
为BlogEngine的分类增加自定义Url别名功能  
if (ddlParent.SelectedValue == "0")
为BlogEngine的分类增加自定义Url别名功能   cat.Parent
= null;
为BlogEngine的分类增加自定义Url别名功能  
else
为BlogEngine的分类增加自定义Url别名功能   cat.Parent
= new Guid(ddlParent.SelectedValue);
为BlogEngine的分类增加自定义Url别名功能  cat.Save();
为BlogEngine的分类增加自定义Url别名功能
为BlogEngine的分类增加自定义Url别名功能  Response.Redirect(Request.RawUrl);
为BlogEngine的分类增加自定义Url别名功能

到这里就修改完成了,改的东西有点多,比较烦,因为我打算对BlogEngine进行比较多的修改,所以暂时不提供修改的文件下载,等感觉改得差不多了再提供下载为BlogEngine的分类增加自定义Url别名功能

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
  • 2022-01-01
  • 2021-06-09
  • 2022-01-23
  • 2022-02-01
猜你喜欢
  • 2022-01-16
  • 2021-11-29
  • 2021-10-12
  • 2021-07-20
  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案