添加保存产品时出现“不能将 Null 值赋给类型为 System.Int32 (不可为 null 的值类型)的成员。”错误,求大神指点,谢谢
#region 添加保存事件
protected void BtnSave_Click(object sender, EventArgs e)
{
try
{
if (IsValid && Valid())
{
var result = from p in fu.F_Products select p;
F_Product pro = new F_Product();
bool b = true; // true add
if (!"0".Equals(ProductID) && !"Copy".Equals(GetAC))
{
pro = result.Single(s => s.ID == Convert.ToInt32(ProductID));
b = false;
}
pro.Clicks = Convert.ToInt32(Clicks.Text);
pro.ClsId = Convert.ToInt32(DDLCLs.SelectedValue);
pro.ClsId2 = Convert.ToInt32(DDLCLs2.SelectedValue);
pro.ClsId3 = Convert.ToInt32(DDLCLs3.SelectedValue);
pro.EnPgTitle = EnPgTitle.Text;
pro.EnPgKeyword = EnPgKeyword.Text;
pro.EnPgDescription = EnPgDescription.Text;
pro.PgDescription = PgDescription.Text;
pro.PgKeyword = PgKeyword.Text;
pro.PgTitle = PgTitle.Text;
pro.Price = Convert.ToDecimal( Price.Text);
pro.Title = Title1.Text;
pro.EnTitle = Title2.Text;
pro.Description = Explain.Value;
pro.EnDescription = EnExplain.Value;
pro.Pic = Picturea.Text;
pro.EnPic = Picture2.Text;
pro.Stock = Convert.ToInt32(string.IsNullOrEmpty(Stock.Text)?"0":Stock.Text);
pro.UpDateTime = DateTime.Now;
string Colors = string.Empty;
foreach (ListItem item in LBColor.Items) {
if (item.Selected) {
Colors += item.Value+" ";
}
}
pro.Colors = Colors.Trim().Replace(" ",",");
if (b)
{
pro.CreateTime = DateTime.Now;
pro.DisplayOrder = fu.F_Products.Max(m => m.DisplayOrder);
if (null == pro.DisplayOrder)
pro.DisplayOrder = 1;
pro.IsHot = false;
fu.F_Products.InsertOnSubmit(pro);
}
fu.SubmitChanges();
Script.AlertAndRedirect("保存成功!", "Product.aspx?AC=list");
}
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
终于解决了
把代码
改成