c# - asp.net 不能将 Null 值赋给类型为 System.Int32 (不可为 null 的值类型)的成员。
本文介绍了c# - asp.net 不能将 Null 值赋给类型为 System.Int32 (不可为 null 的值类型)的成员。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
添加保存产品时出现不能将 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
解决方案
终于解决了
把代码
pro.DisplayOrder = fu.F_Products.Max(m => m.DisplayOrder);
if (null == pro.DisplayOrder)
pro.DisplayOrder = 1;
改成
try
{
pro.DisplayOrder = fu.F_Products.Max(m => m.DisplayOrder) + 1;
}
catch
{
pro.DisplayOrder = 1;
}
这篇关于c# - asp.net 不能将 Null 值赋给类型为 System.Int32 (不可为 null 的值类型)的成员。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文