detailsview,空值是如何出现的?

16 浏览
0 Comments

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谢谢!

0
0 Comments

问题:detailsview如何出现null值?出现的原因以及解决方法。

原因:使用内置的.NET控件时,如果尝试删除已生成的字段,通常会出现问题。使用此方式使用控件不够灵活,并且很难解决问题。

解决方法:最好的方法是完全删除并重新添加要使用的控件,然后尝试更改要使用模板的字段。可能仍然会遇到一些问题,但不应该太困难。

大多数经验丰富的开发人员会放弃这种“简单”的方式,而是通过创建一个表单,读取值并将其传递给执行相关SQL更新的方法来手动更新数据库。学习起来可能需要一些时间,但一旦掌握了这种方法,就变得容易,并且解决了许多与需要使用控件的非常特定的.NET方式相搏斗的困难。

手动更新的第一步是创建连接字符串并与之一起工作。连接字符串应添加到web.config文件的“”元素中。

如果web.config文件中已经有连接字符串,是否需要添加另一个连接字符串?需要添加什么以及如何添加?

感谢您的回答。

0
0 Comments

问题的出现原因:可能是由于缺少连接字符串,或者连接字符串的读取方式不正确导致。

解决方法:可以通过在web.config文件中添加连接字符串来解决。首先,在''元素下添加连接字符串。然后,在代码中读取连接字符串。另外,可以直接在代码中添加连接字符串,这可能更简单一些。此外,建议使用参数化查询来进行数据库更新,以提高代码的安全性。随着开发的进行,还可以将数据库访问部分封装成一个称为“数据访问层”的类,以便更好地组织和管理代码。最后,建议在开发过程中遵循行业最佳实践,以提高应用程序的性能和可靠性。

0