C# 无法在同一.aspx.cs页面上使用两个数据集

C# 无法在同一.aspx.cs页面上使用两个数据集,c#,asp.net,ado.net,C#,Asp.net,Ado.net,我在本页上使用了两个数据集1.DsCountryin BindCountry和2.DsStatein BindState,但数据库中的数据仅在DsCountry中填充,而不是在DsState中,而是在BindCountry被注释时填充。DsState正在工作 public void BindCountry() { objCountry.SortOn = Convert.ToString(ViewState["SortOn"]); objCountry.SortBy = Conve

我在本页上使用了两个数据集1.DsCountryin BindCountry和2.DsStatein BindState,但数据库中的数据仅在DsCountry中填充,而不是在DsState中,而是在BindCountry被注释时填充。DsState正在工作

public void BindCountry()
{
    objCountry.SortOn = Convert.ToString(ViewState["SortOn"]);
    objCountry.SortBy = Convert.ToString(ViewState["SortBy"]);
    DataSet DsCountry = objCountry.GetAllCountryDetails();
    ddlCntry.DataSource = DsCountry.Tables[0];
    ddlCntry.DataValueField = "CountryId";
    ddlCntry.DataTextField = "CountryName";
    ddlCntry.DataBind();
}

public void BindState()
{
    objState.CountryId = int.Parse(ddlCntry.SelectedItem.Value);
    objState.StateName = txtState.Text.Trim();
    objState.SortOn = ViewState["SortOnState"].ToString();
    objState.SortBy = ViewState["SortByState"].ToString();
    DataSet DsState = objState.getStates();
    gvState.DataSource = DsState;
    gvState.DataBind();

}
在这里:

public void BindState()
{
    objState.CountryId = int.Parse(ddlCntry.SelectedItem.Value);
    objState.StateName = txtState.Text.Trim();
    objState.SortOn = ViewState["SortOnState"].ToString();
    objState.SortBy = ViewState["SortByState"].ToString();
    DataSet DsState = objState.getStates();
    gvState.DataSource = DsState;
    gvState.DataBind();
}
在这一行:

gvState.DataSource = DsState;
如果这是一个数据集,意味着其中有多个表,那么您需要指定要绑定到的特定表,就像在您的国家/地区方法中一样:

ddlCntry.DataSource = DsCountry.Tables[0];
将变成这样:

gvState.DataSource = DsState.Tables[0];
假设在数据集中只返回一个表


否则就好像:去给我拿些我不知道的东西

您的BindState代码应该是这样的

公共国家 {

}


您可以在一个页面中应用多个数据集。

当您对bindcountry方法进行注释时,则该行中分配的值是什么。objState.CountryId=int.ParseddlCntry.SelectedItem.Value;当我对BindCountry进行注释时,我还必须开始该行,否则它的给定错误不是问题所在…我在调试模式下检查了它,表n DsState没有填充数据库中的数据,只是获取了列名如果它只返回列名,那么,数据库中的表可能是空的?当我使用相同的数据库运行我的朋友项目时,它的工作方式我已经尝试过了。这不是问题……我在调试模式下检查了它,DsState中的表没有填充数据库中的数据,只是获取了列名
objState.CountryId = int.Parse(ddlCntry.SelectedItem.Value);
objState.StateName = txtState.Text.Trim();
objState.SortOn = ViewState["SortOnState"].ToString();
objState.SortBy = ViewState["SortByState"].ToString();
DataSet DsState = objState.getStates();
gvState.DataSource = DsState.Tables[0];
gvState.DataBind();