Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否在插入数据之前执行DataBind()?_C#_Asp.net_Data Binding - Fatal编程技术网

C# 是否在插入数据之前执行DataBind()?

C# 是否在插入数据之前执行DataBind()?,c#,asp.net,data-binding,C#,Asp.net,Data Binding,为什么在DataBind()下面的代码中,只有在Insert() 工作代码: DataView dvTransportadora = dtTransportadora.DefaultView; dvTransportadora.Sort = "NICKNAME ASC"; ddlTransportadora.DataSource = dvTransportadora; ddlTransportadora.DataValueField = "ID_CUSTOMER"; ddlTransporta

为什么在
DataBind()
下面的代码中,只有在
Insert()

工作代码:

DataView dvTransportadora = dtTransportadora.DefaultView;
dvTransportadora.Sort = "NICKNAME ASC";

ddlTransportadora.DataSource = dvTransportadora;
ddlTransportadora.DataValueField = "ID_CUSTOMER";
ddlTransportadora.DataTextField = "NICKNAME";
ddlTransportadora.DataBind();

ListItem lstItmSelecione = new ListItem("SELECT", "0");
ddlTransportadora.Items.Insert(0, lstItmSelecione);
DataView dvTransportadora = dtTransportadora.DefaultView;
dvTransportadora.Sort = "NICKNAME ASC";

ddlTransportadora.DataSource = dvTransportadora;
ddlTransportadora.DataValueField = "ID_CUSTOMER";
ddlTransportadora.DataTextField = "NICKNAME";

ListItem lstItmSelecione = new ListItem("SELECT", "0");
ddlTransportadora.Items.Insert(0, lstItmSelecione);

ddlTransportadora.DataBind();
非工作代码:

DataView dvTransportadora = dtTransportadora.DefaultView;
dvTransportadora.Sort = "NICKNAME ASC";

ddlTransportadora.DataSource = dvTransportadora;
ddlTransportadora.DataValueField = "ID_CUSTOMER";
ddlTransportadora.DataTextField = "NICKNAME";
ddlTransportadora.DataBind();

ListItem lstItmSelecione = new ListItem("SELECT", "0");
ddlTransportadora.Items.Insert(0, lstItmSelecione);
DataView dvTransportadora = dtTransportadora.DefaultView;
dvTransportadora.Sort = "NICKNAME ASC";

ddlTransportadora.DataSource = dvTransportadora;
ddlTransportadora.DataValueField = "ID_CUSTOMER";
ddlTransportadora.DataTextField = "NICKNAME";

ListItem lstItmSelecione = new ListItem("SELECT", "0");
ddlTransportadora.Items.Insert(0, lstItmSelecione);

ddlTransportadora.DataBind();

在“非工作代码”中,“选择”项不出现,数据绑定()不必刷新dropdownlist?

当您进行数据绑定时,由于您正在设置数据源,因此实际上删除了以前存在的内容。但是,一旦绑定到数据,就可以添加到列表中。下次你刷新时,它可能就不在了


为了防止新值被覆盖,可以直接添加到数据源中。例如,假设该控件绑定到一个对象,则可以调用AddNew方法。如果数据来自数据库,则需要将新值添加到数据库中,然后再次调用DataBind,或者根据您的场景执行任何必要的操作。

当您进行数据绑定时,由于您正在设置数据源,因此实际上删除了以前存在的内容。但是,一旦绑定到数据,就可以添加到列表中。下次你刷新时,它可能就不在了


为了防止新值被覆盖,可以直接添加到数据源中。例如,假设该控件绑定到一个对象,则可以调用AddNew方法。如果数据来自数据库,则需要将新值添加到数据库中,然后再次调用DataBind,或者根据您的场景执行任何必要的操作。

绑定数据时,将清除集合中当前的所有项,并为数据源中的每个新项创建新项


您需要将附加项添加到基础数据源,而不是将其插入控件本身,或者,您需要执行第一个示例中的操作,并在直接插入任何项之前绑定数据。

绑定数据时,将清除集合中当前的所有项,并为数据源中的每个新项创建新项


您或者需要将附加项添加到基础数据源中,而不是将其插入控件本身,或者需要执行第一个示例中所做的操作,并在直接插入任何项之前绑定数据。

DataBind()仅在Insert()之前“起作用”,因为DataBind()将清除dropdownlist中的所有数据,并将所有数据添加到数据源中。因此,在数据绑定之前插入的任何内容都将被删除或清除

DataBind()只在Insert()之前“起作用”,因为DataBind()将清除dropdownlist中的所有数据,并将所有数据添加到数据源中。因此,在数据绑定之前插入的任何内容都将被删除或清除

DropDownList是一个ListControl,所有ListControl都有一个名为AppendDataBoundItems的属性(默认为false)。如果将此属性设置为true,则由于DataBind()调用而创建的任何项都不会首先清除已存在的项,而是将它们附加到列表中。在这种情况下不应清除您自己的项。

DropDownList是一个ListControl,所有ListControl都有一个名为AppendDataBoundItems的属性(默认为false)。如果将此属性设置为true,则由于DataBind()调用而创建的任何项都不会首先清除已存在的项,而是将它们附加到列表中。在这种情况下,不应清除您自己的项目