C# 在ASP.NET的C中更新DropDownList的数据源

C# 在ASP.NET的C中更新DropDownList的数据源,c#,asp.net,visual-studio,webforms,datasource,C#,Asp.net,Visual Studio,Webforms,Datasource,我有一个使用DropDownList的编辑表单,它使用数据源连接到SQL server表。此编辑表单允许用户将表的IsDeleted列值设置为1,然后将其从应用程序的所有查询中隐藏。因此,事务仍然存在于数据库中,但不存在于应用程序中 我遇到的问题是,如果编辑表单所在的页面没有完全保留,然后再次输入,则条目仍然保留在数据源中 因此,本质上,数据源没有更新。在重新加载整个页面之前,它不会运行select语句并重新填充。我尝试过使用页面刷新,但它似乎不起作用,只是完全转到另一个页面,然后回来似乎更新了

我有一个使用DropDownList的编辑表单,它使用数据源连接到SQL server表。此编辑表单允许用户将表的IsDeleted列值设置为1,然后将其从应用程序的所有查询中隐藏。因此,事务仍然存在于数据库中,但不存在于应用程序中

我遇到的问题是,如果编辑表单所在的页面没有完全保留,然后再次输入,则条目仍然保留在数据源中

因此,本质上,数据源没有更新。在重新加载整个页面之前,它不会运行select语句并重新填充。我尝试过使用页面刷新,但它似乎不起作用,只是完全转到另一个页面,然后回来似乎更新了数据源


如何以编程方式刷新数据源的内容,而不必重新创建整个数据源本身?

下次可能需要添加一些代码。
我现在最好的猜测是你在回邮时什么也没做

下次可能需要添加一些代码。
我现在最好的猜测是你在回邮时什么也没做

因此,我最终求助于做我不想做的事情,希望有一种最佳实践的方法来做,并且希望已经内置到数据源中,但似乎不是这样

只需重新分配数据源的参数,然后将数据源分配回DropDownList,就好像我正在创建一个新的一样

我创建了以下方法,然后在Delete按钮事件结束时调用了该方法

protected void DropDownList_Reload()
    {
        MyDataSource.ConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
        MyDataSource.SelectCommand = "SELECT * FROM [tblMyTable] WHERE [IsDeleted] <> 1";

        cbxDropDownList.DataSourceID = "MyDataSource";
        cbxDropDownList.DataTextField = "MyHeader";
        cbxDropDownList.DataValueField = "MyHeader";
    }

因此,我最终求助于做我不想做的事情,希望有一种最佳实践的方法来做这件事,并且希望有一种已经内置到数据源中的方法,但似乎不是这样

只需重新分配数据源的参数,然后将数据源分配回DropDownList,就好像我正在创建一个新的一样

我创建了以下方法,然后在Delete按钮事件结束时调用了该方法

protected void DropDownList_Reload()
    {
        MyDataSource.ConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
        MyDataSource.SelectCommand = "SELECT * FROM [tblMyTable] WHERE [IsDeleted] <> 1";

        cbxDropDownList.DataSourceID = "MyDataSource";
        cbxDropDownList.DataTextField = "MyHeader";
        cbxDropDownList.DataValueField = "MyHeader";
    }

除了设计人员的ASP标记外,我目前没有任何数据源和DDL代码。忽略填充一些文本框的DDL上的SelectedIndexChanged事件,但这与问题无关,我已经阅读了一些关于回发的内容,看起来我对这个主题的知识有一个巨大的漏洞。我希望你引导我走上一条道路,让我找到解决我问题的方法。但最后,我正在寻找一种编程方法来完成在设计器中单击Refresh Schema时所做的工作。此时,除了设计器的ASP标记外,实际上没有任何数据源和DDL代码。忽略填充一些文本框的DDL上的SelectedIndexChanged事件,但这与问题无关,我已经阅读了一些关于回发的内容,看起来我对这个主题的知识有一个巨大的漏洞。我希望你引导我走上一条道路,让我找到解决我问题的方法。但最后,我正在寻找一种编程方式,来完成单击“刷新模式”时在设计器中所做的工作