detailsview,空值是如何出现的?
detailsview,空值是如何出现的?
我在处理Detailsview InsertItemTemplate时遇到了问题。我正在按照WROX的《ASP.Net 4 for Beginners》进行操作。\n我有一个包含员工表(EmpId,Name,DoB,Sex,DeptId,Position)的数据库。\n我试图使用Detailsview将值插入到这个表中。\n使用常规的detailsview,我可以插入所有的值。它运行得很好。但是当我将detailsview转换为模板时,出现了问题。\n我做了什么?\n- 在Detailsview的智能标记上,我点击了编辑字段。删除了除EmpID之外的所有可用字段,并从可用字段中添加了模板字段。\n- 再次在Detailsview的智能标记上,点击编辑模板,并在下拉列表中选择InsertItemTemplate。\n- 使用工具箱中的标准组件,我为Name添加了文本框,为其他字段添加了下拉列表(因为我没有删除EmpId,所以它不需要一个)。\n- 这是其余的标记视图:\n输入以下信息进行注册:\n 姓名:\n \n
\n 出生日期:\n \n \n \n
\n 性别:\n
\n 部门编号:\n
\n 职位:\n- 这是用于detailsview插入事件的代码后台CS文件\nprotected void DetailsView1_ItemInserting1(object sender, DetailsViewInsertEventArgs e)\n {\n string id = System.Guid.NewGuid().ToString();\n TextBox txt_name = (TextBox)DetailsView1.FindControl(\"EmpId\");\n e.Values[\"EmpId\"] = id;\n
DropDownList ddl_month = (DropDownList)DetailsView1.FindControl("DDL_Month"); string month = ddl_month.SelectedValue; e.Values["DDL_Month"] = month; DropDownList ddl_day = (DropDownList)DetailsView1.FindControl("DDL_Day"); string day = ddl_day.SelectedValue; e.Values["DDL_Day"] = day; DropDownList ddl_year = (DropDownList)DetailsView1.FindControl("DDL_Year"); string year = ddl_year.SelectedValue; e.Values["DDL_Year"] = year; DropDownList ddl_sex = (DropDownList)DetailsView1.FindControl("DDL_Sex"); string sex = ddl_sex.SelectedValue; e.Values["DDL_Sex"] = sex; DropDownList ddl_pos = (DropDownList)DetailsView1.FindControl("DDL_Pos"); string pos = ddl_pos.SelectedValue; e.Values["DDL_Pos"] = pos; DropDownList ddl_deptid = (DropDownList)DetailsView1.FindControl("DDL_DeptId"); string deptid = ddl_deptid.SelectedValue; e.Values["DDL_DeptId"] = deptid; }
\n- 你还能给我建议如何将出生日期的三个选择值组合起来,并将它们添加到数据库吗?\n谢谢!
问题:detailsview如何出现null值?出现的原因以及解决方法。
原因:使用内置的.NET控件时,如果尝试删除已生成的字段,通常会出现问题。使用此方式使用控件不够灵活,并且很难解决问题。
解决方法:最好的方法是完全删除并重新添加要使用的控件,然后尝试更改要使用模板的字段。可能仍然会遇到一些问题,但不应该太困难。
大多数经验丰富的开发人员会放弃这种“简单”的方式,而是通过创建一个表单,读取值并将其传递给执行相关SQL更新的方法来手动更新数据库。学习起来可能需要一些时间,但一旦掌握了这种方法,就变得容易,并且解决了许多与需要使用控件的非常特定的.NET方式相搏斗的困难。
手动更新的第一步是创建连接字符串并与之一起工作。连接字符串应添加到web.config文件的“
如果web.config文件中已经有连接字符串,是否需要添加另一个连接字符串?需要添加什么以及如何添加?
感谢您的回答。