【发布时间】:2010-10-19 18:51:36
【问题描述】:
在我的页面上,每当更新 DetailsView 时,我都必须将更改审核到数据库中。在大多数页面上,这都很完美,因为只有文本框 - 但是在我现在正在处理的页面上,带有下拉列表,我的代码不起作用。
基本上,代码所做的是捕获 SqlDataSource 的更新事件,创建一个数据读取器以在更新之前查看行的内容,将内容与 SqlDataSource 的更新查询中的参数进行比较,如果有已更改为将其记录在审核表中的字段中。我的代码摘录如下:
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
try {
if (reader[i].ToString() != e.Command.Parameters[i].Value.ToString())
{
fields[i] = reader.GetName(i) + ": " + reader[i].ToString() + " => " + e.Command.Parameters[i].Value.ToString();
}
}
catch {
if (reader[i].ToString() != "")
{
fields[i] = reader.GetName(i) + ": " + reader[i].ToString() + " => ";
}
}
}
}
当控件位于下拉列表中时,即使字段不同,它似乎也永远不会“进入”IF。我需要做一些特别的事情来比较下拉列表的值吗?请注意,我相信该值在我的表中存储为 int。
谢谢
【问题讨论】:
标签: c# asp.net drop-down-menu sqldatareader