0

Page_Load单击后我尝试调用方法btnSubmit。对于我来说,我Page_Load在 column 的下拉列表框中进行了数据绑定caseprogress != 'ongoing'。然后btnSubmit_Click我将一些数据插入另一个表,更新caseprogress = 'completed'并调用Page_Load方法。但我的下拉列表框似乎没有重新绑定。(除非我刷新页面)我在其他页面上尝试此方法,但不适用于此。仅供参考,我在此页面中没有任何更新面板。另一个正在工作的也是如此。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //Bind data to Dropdownlist box
    }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
    //Insert / Update data of sql data table

   Page_Load(null, EventArgs.Empty);
}
4

2 回答 2

7

你可以有方法绑定下拉列表

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        BindData();
    }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
    //Insert / Update data of sql data table

   BindData();
}

private void BindData()
{
    String policeid = (String)Session["policeid"];
    SqlConnection con = new SqlConnection("Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI");
    con.Open();
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter("Select mr.memberreportid From PoliceAccount pa, MemberReport mr Where pa.policeid = '" + policeid + "' And pa.handle = mr.memberreportid And mr.caseprogress = 'ongoing'", con);
    da.Fill(ds);
    ddlMemberReportID.DataSource = ds;
    ddlMemberReportID.DataTextField = "memberreportid";
    ddlMemberReportID.DataValueField = "memberreportid";
    ddlMemberReportID.DataBind();
    con.Close();
}

并删除Page_Load(null, EventArgs.Empty);代码行

于 2013-08-19T04:16:16.340 回答
1

您的问题可能是您对它的调用Page_Load(null, EventArgs.Empty); 将导致对 Page_Load 的双重调用,您在btn_Click事件中调用的最后一个调用将具有IsPostback = true并且您的数据不会被绑定。

于 2013-08-19T04:11:42.480 回答