tags:

views:

17

answers:

0

Hello,

I am using c# .net. MSql server 2005.

I got a web application, the problem is that the text in the label and Grid view data will not update on the first button next click, I need to click the button twice, I debugged to code, and I found out that the label does not recive the data until after the second click. But in drop down i am getting next coverage.

When i do coverage changes in drop down i am getting values perfect.

I have header control(ascx) where my buttons next and previous, drop down. I am calling this header control on my file upload page(aspx) Only problem with btnnext and previous click beside the drop down. Please help me on this. Code is below from FileHeade.ascx.cs

public partial class FileHeader : System.Web.UI.UserControl { public delegate void CoverageChangeHandler(object sender, EventArgs e); public event CoverageChangeHandler CoverageChanged;

    protected void Page_Init(object sender, EventArgs e)
    {
        WireEvents();
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }


    public FileHeader()
    {
    }

    private ClaimantInfoHelper _claimantInfoHelper;
    public FileHeader(ClaimantInfoHelper claimantInfoHelper)
    {
        _claimantInfoHelper = claimantInfoHelper;

        SetControls();
     }

    private void SetControls()
    {
        lblClaimNumber.Text = _claimantInfoHelper.ClaimNum.ToUpper();
        lblName.Text = _claimantInfoHelper.Claimant;
        //lblCoverage.Text = _claimantInfoHelper.Coverage;

        BindDropDown();

    }


    /// <summary>
    ///  CovCert drop down code start here
    /// </summary>
    /// 
    private void BindDropDown()
    {
        if (Page is ClaimBase)
        {
            var db = RelationalDataContext.Create();
            var sessionGuid = (Page as ClaimBase).SessionGuid;
            var cir = db.GetClaimInfoResultBySessionGuid(sessionGuid);

            List<ClaimInfoCovCertListResultView> CovCertList = cir.ClaimInfoCovCertListResults.OrderBy(c => c.CoverageListCoverageNumber).ToList().ConvertAll(new Converter<ClaimInfoCovCertListResult, ClaimInfoCovCertListResultView>(ClaimInfoTranslator.ConvertCovCertResultToView));

            ddCovCert.DataSource = CovCertList;

            ddCovCert.DataTextField = "CoverageText";
            ddCovCert.DataValueField = "CoverageValue";
            ddCovCert.DataBind();
            //ddCovCert.Items.Insert(0, new ListItem("<Base>", "000"));
           ddCovCert.SelectedValue = _claimantInfoHelper.ClaimCertSeqNo.ToString();



        }

    }




    private void WireEvents()
    {
        ddCovCert.SelectedIndexChanged += new EventHandler(ddCovCert_SelectedIndexChanged);
        btnNextCoverage.Click += new EventHandler(btnNextCoverage_Click);
        btnPrevCoverage.Click += new EventHandler(btnPrevCoverage_Click);



    }

private void btnNextCoverage_Click(object sender, EventArgs e) {

        int items = ddCovCert.Items.Count;

        if (items > 0 && ddCovCert.SelectedIndex < items - 1)

            ddCovCert.SelectedIndex++;

        CoverageChanged(sender, e);



    }



    private void btnPrevCoverage_Click(object sender, EventArgs e)
    {
        int items = ddCovCert.Items.Count;
        if (items > 0 && ddCovCert.SelectedIndex > 0)
            ddCovCert.SelectedIndex--;

        CoverageChanged(sender, e);

    }

    private void ddCovCert_SelectedIndexChanged(object sender, EventArgs e)
    {

            CoverageChanged(sender, e);



    }

Thanks, Ravi