我在这个页面上使用了两个数据集1.DsCountry(在BindCountry()中)和2.DsState(在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();
}
答案 0 :(得分:0)
在这里:
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;
如果这是一个数据集(暗示它中有多个表),那么你需要指定一个你想要绑定的特定表,就像你的country方法一样:
ddlCntry.DataSource = DsCountry.Tables[0];
将成为这个:
gvState.DataSource = DsState.Tables[0];
假设您只返回数据集中的一个表。
否则它就像:去找我一些我不知道的东西。 :)
答案 1 :(得分:0)
你的BindState代码应该是这样的
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.Tables[0];
gvState.DataBind();
}
您可以在1页中应用多个数据集。