C# Combobox数据绑定()检查

C# Combobox数据绑定()检查,c#,javascript,asp.net,sql,C#,Javascript,Asp.net,Sql,我有一个组合框和一个值列表。 如果我添加一个值并保存它,它应该出现在组合框中。但它只有在我刷新页面后才会出现。它无法正确绑定数据 我已将DataBind()放入 但上述情况没有帮助。 如何检查所有内容是否正确绑定 请帮忙。 多谢各位 protected void Page_Load(object sender, EventArgs e) { DataBind(); if (!Page.IsPostBack) { } }

我有一个组合框和一个值列表。 如果我添加一个值并保存它,它应该出现在组合框中。但它只有在我刷新页面后才会出现。它无法正确绑定数据

我已将DataBind()放入

但上述情况没有帮助。 如何检查所有内容是否正确绑定

请帮忙。 多谢各位

 protected void Page_Load(object sender, EventArgs e)
        {

 DataBind();
            if (!Page.IsPostBack)
            {
}
}



protected void btn_save_click(object sender, EventArgs e)

            {
    SqlCommand command_update = new SqlCommand("Update", connection_save1); 
                        command_update.CommandType = System.Data.CommandType.StoredProcedure;


                        command_update.Parameters.Add(new SqlParameter("@ViewId", Int32.Parse(Id.Value)));
    SqlParameter Returns = new SqlParameter("@ReturnCode", SqlDbType.Char);
                        Returns.Size = 1;
                        Returns.Direction = ParameterDirection.Output;
                        command_insert.Parameters.Add(Returns);
     bSuccess = command_insert.Parameters["@ReturnCode"].Value.ToString();
    if (bSuccess == "1")
                        {
                            //Response.Write("Insert successful");
                            dd_group.DataBind();
                            dd_group.SelectedValue = command_insert.Parameters["@ReturnCode"].Value.ToString().Trim();
    }
    }
这是html

<asp:DropDownList ID="dd_group" DataSourceID="sp" DataTextField="maintitle"
                        DataValueField="Id" runat="server" AutoPostBack="True" 
                        OnSelectedIndexChanged="group_SelectedIndexChanged1" Height="24px" 
                        Width="50%">
                    </asp:DropDownList>
 <asp:SqlDataSource ID="sp" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        SelectCommand="GetIds" runat="server" SelectCommandType="StoredProcedure">


您可以使用webmethod向组合框中添加元素,当您添加任何项目时,使用jquery甚至javascript并调用此webmthod重新绑定数据

您可以使用webmethod向组合框中添加元素,当您添加任何项目时,使用jquery甚至javascript并调用此webmthod重新绑定数据

更新数据源后调用
DataBind()
:这通常在
Page\u Load()
事件后调用的某个控制事件处理程序中完成,因此此调用仅在刷新后可见(然后第二次调用,更新后第一次调用)

protected void Pre_Render(object sender, EventArgs e)
        {

 DataBind();

}



protected void btn_save_click(object sender, EventArgs e)

            {
    SqlCommand command_update = new SqlCommand("Update", connection_save1); 
                        command_update.CommandType = System.Data.CommandType.StoredProcedure;


                        command_update.Parameters.Add(new SqlParameter("@ViewId", Int32.Parse(Id.Value)));
    SqlParameter Returns = new SqlParameter("@ReturnCode", SqlDbType.Char);
                        Returns.Size = 1;
                        Returns.Direction = ParameterDirection.Output;
                        command_insert.Parameters.Add(Returns);
     bSuccess = command_insert.Parameters["@ReturnCode"].Value.ToString();
    if (bSuccess == "1")
                        {
                            //Response.Write("Insert successful");
                            dd_group.DataBind();
                            dd_group.SelectedValue = command_insert.Parameters["@ReturnCode"].Value.ToString().Trim();
    }
    }
因此,只需将
DataBind()
添加到执行更新的方法中,如下所示:

mycontrol.DataSource = newvariable;
mycontrol.DataBind();

更新数据源后必须调用
DataBind()
:这通常是在
Page\u Load()
事件后调用的某个控制事件处理程序中完成的,因此此调用仅在刷新后可见(然后在第二次调用,在更新后第一次调用)

因此,只需将
DataBind()
添加到执行更新的方法中,如下所示:

mycontrol.DataSource = newvariable;
mycontrol.DataBind();

该特定控件上是否碰巧存在requires或expected datasource属性。。?如果是这样的话,请添加DataBind()或BindData(),我尝试将DataBind()放在您描述的确切位置。但是运气不好:(我有一个更好的解决方案:BindGroupId.DataSource=where;BindGroupId.DataTextField=“column name”;BindGroupId.DataValueField=“value”;BindGroupId.DataBind();@Ish我有更好的解决方案:DataValueField和DataTextField应该在aspx代码中编写,而不是在CS代码中……该特定控件上是否碰巧存在Required或Expected datasource属性..?如果是这样,请添加您的DataBind()或BindData(),我尝试放置DataBind()在您描述的确切位置。但没有运气:(我有一个更好的解决方案:BindGroupId.DataSource=which;BindGroupId.DataTextField=“column name”BindGroupId.DataValueField=“value”BindGroupId.DataBind()@我有更好的解决方案:DataValueField和DataTextField应该用aspx代码编写,而不是用CS代码编写……我不理解其背后的原因我在代码中没有看到任何
DataContext
赋值?如何执行数据绑定?我不理解其背后的原因我没有看到任何
DataContext
代码中的赋值?如何执行数据绑定?