📄 add.ascx.cs
字号:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
namespace MySite.WebUI.Controls.Article
{
using MySite.Utils;
using SubSonic;
using SubSonic.Generated;
using SubSonic.Sugar;
using System.Collections.Generic;
using System.Transactions;
using System.Data.SqlClient;
public partial class Add : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
int? id = Web.QueryString<Nullable<int>>("id");
this.HiddenField1.Value = "-1";
if (id.HasValue)
{
Article arti = new Article(id);
if (arti.IsLoaded)
{
this.HiddenField1.Value = id.Value.ToString();
this.Title.Text = arti.Title;
this.Author.Text = arti.Author;
this.FCKeditor1.Value = arti.Content;
this.SourceFrom.Text = arti.SourceFrom;
this.Tags.Text = arti.GetTags();
this.CategoryNames.Text = arti.GetCategoryNames();
}
}
else
{
string cateName = Web.QueryString<string>("categoryname");
Category cate = new Category(Category.Columns.Name, cateName);
if (cate.IsLoaded)
this.CategoryNames.Text = cateName;
}
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
//using(TransactionScope scope=new TransactionScope())
//{
try
{
//储存新文章信息
Article arti = new Article(this.HiddenField1.Value);
arti.LoadFromPost();
arti.Content = this.FCKeditor1.Value;
arti.Save();
if (arti.IsLoaded)
{
//删除已有标签集
//Article.DeleteTagMap(arti.PKId);
foreach (Tag t in arti.GetTagCollection())
{
if (t.UseTimes == 1)
{
DB.Delete().From<ArticleTagMapping>().Where(ArticleTagMapping.Columns.TagId).IsEqualTo(t.PKId).Execute();
Tag.Destroy(t.PKId);
}
else
{
t.UseTimes -= 1;
t.Save();
DB.Delete().From<ArticleTagMapping>().Where("ArticleId").IsEqualTo(arti.PKId).And("TagId").IsEqualTo(t.PKId).Execute();
}
}
//删除已有分类集
Article.DeleteCategoryMap(arti.PKId);
}
//储存分类集
int[] categoryIds=Category.GetCategoryParentIds(this.CategoryNames.Text);
Article.SaveCategoryMap(arti.PKId, categoryIds);
//储存Tag标签集
//string[] strs = this.Tags.Text.Split(Constant.tagSeparator, StringSplitOptions.RemoveEmptyEntries);
//IList<int> list = new List<int>();
//TagCollection tagColl=new TagCollection();
//foreach (string str in strs)
//{
// Tag tag = new Tag(Tag.Columns.Name, str);
// if (tag.IsNew)
// {
// tag.Name = str;
// tag.UseTimes = 1;
// }
// else
// {
// tag.UseTimes += 1;
// }
// tag.Save();
// tagColl.Add(tag);
//}
TagCollection tagColl = Tag.UpdateAndReturnTags(this.Tags.Text);
Article.SaveTagMap(arti.PKId, tagColl);
//Dictionary<string, int> dict = new Dictionary<string, int>();
//foreach (string str in strs)
//{
// if (!dict.ContainsKey(str))
// dict.Add(str, 1);
//}
////List<Insert> queries = new List<Insert>();
//foreach (KeyValuePair<string, int> kvp in dict)
//{
// //queries.Add(new Insert().Into(Tag.Schema, new string[] { Tag.Columns.Name, Tag.Columns.UseTimes }).Values(new object[] { kvp.Key, kvp.Value }));
// //queries.Add(new Insert().Into(ArticleTagMapping.Schema, new string[] { ArticleTagMapping.Columns.ArticleId, ArticleTagMapping.Columns.TagId }).Values(new object[] {arti.PKId, }));
// Tag tag = new Tag(Tag.Columns.Name, kvp.Key);
// if (tag.IsNew)
// {
// tag.Name = kvp.Key;
// tag.UseTimes = new int?(kvp.Value);
// }
// else
// {
// tag.UseTimes += 1;
// }
// tag.Save();
// ArticleTagMapping atm = new ArticleTagMapping();
// atm.ArticleId = arti.PKId;
// atm.TagId = tag.PKId;
// atm.Save();
//}
//scope.Complete();
}
catch(SqlException ex)
{
throw ex;
}
//}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -