如题:
第一段代码:
if (shifou.Checked)
{
  int i = new BLL.B_Art_Info_Tab().GetMaxId();
  HandlerHTMLPg html = new HandlerHTMLPg(Library.StrToInt(i.ToString(), -1));
  html.Create(true, "");
}第二段代码:
if (shifou.Checked)
{
   HandlerHTMLPg html = new HandlerHTMLPg(m.A_Id);
   html.Create(true, "");
}HandlerHTMLPg.cs中部分代码:
public HandlerHTMLPg(int id)
{
  ID = id;
  Model.B_Art_Info_Tab art = new BLL.B_Art_Info_Tab().GetModel(id);//获得当前新闻的ID
  Model.B_ArtBClass_Info_Tab big = new BLL.B_ArtBClass_Info_Tab().GetModel(art.A_BigClassId);//获得新闻的一级分类
  Baby.Model.B_ArtSClass_Info_Tab small = new BLL.B_ArtSClass_Info_Tab().GetModel(art.A_SmallClassId);//获得新闻的二级分类if (art.A_Kw.Length<1)
{
  string str = art.A_Kw;
  string[] split = str.Split(new char[] { ',', ',' });
  foreach (string m in split)
  {
    string i = m.Trim();
    List<Baby.Model.B_Art_Info_Tab> list8 = new BLL.B_Art_Info_Tab().Keyword(i);
    foreach (Baby.Model.B_Art_Info_Tab g in list8)
    {
      news_xg +=g.A_Title;
    }
    }
else
{
  news_xg = "1";
}
上面第一段代码和第二段代码都是调用同一个内容(即HandlerHTMLPg.cs),现在奇怪的问题的是,第一段代码是发布新闻时用的调用代码,可完全执行正常。第二段代码是执行重新生成时调用代码,奇怪的是art.A_Kw的值在这里就获得不到,添加发布时也是用同一样的代码,而且流程也是一样的。请高手们指点迷津,跪谢了。帮忙看看怎么才能做到用第二段代码调用HandlerHTMLPg.cs时art.A_Kw的值可以正常获取而不会是空值。