无法从Page_Load更新表单

时间:2016-06-13 17:41:00

标签: c# asp.net pageload

我有一个包含大量文本框,下拉菜单等的表单。 我使用此表单输入新数据,但我也想使用相同的页面来更改数据。但是我必须用要更改的客户信息填充数据。

现在在Page_Load中我有

    protected void Page_Load(object sender, EventArgs e)
    {
        Master.PageTitle(PageTitles.UpdateAdd);

        NameValueCollection nvc = Request.Form;
        if (nvc.Count == 2 && nvc["ThisIsAnUpdate"] == "1")
        {
            // Ladies and gentlemen, we have an update. Do the work.
            ThisIsAnUpdate.Value = "1";

            DetailedAddressEntity myCustomer = new RetreiveInformation().FetchDetailedInformation(nvc["ID"]);

            SetupEdit(myCustomer);
        }
    }

然后在SetupEdit中我这样做:

    protected void SetupEdit(DetailedAddressEntity dae)
    {
        FirstName.Text = dae.aFirstName;
        LastName.Text = dae.aLastName;
        SubscriberNumber.Text = dae.aSubscriberNumber;
        ... and so on...
    }

FirstName,LastName和SubscriberNumber永远不会更改。当我使用页面创建一个新客户时,它们工作得很好,从那时起我回发来填充这些文本框,但是当我尝试在页面加载时访问它们时......没有。

我知道SetupEdit中的代码实际上已经运行,但是在我的浏览器中已经绘制了页面之后。我试图强制回发,但这也不起作用。

可帮助?

更多解释:Page_Load首先通过主页面设置页面的标题,因为我这样做没有遇到麻烦我认为我也可以填写文本框。 DetailedAddressEntity myCusomter只是从DB中获取的大量变量。 我使用获取的信息来填充文本框,但是 - 唉 - 其中没有信息。

更多信息: 我将数据库调用移动到SetupEdit并在页面上创建了一个按钮并调用该函数以查看该函数是否已损坏。它完美地运作。它可以获取所有信息并完美填充我的文本框。

但是,如果我从Page_Load中调用相同内容,那就不行了。

    protected void SetupEdit(string ID)
    {
        DetailedAddressEntity dae = new RetreiveInformation().FetchDetailedInformation(ID);

        FirstName.Text = dae.aFirstName;
        LastName.Text = dae.aLastName;
        SubscriberNumber.Text = dae.aSubscriberNumber;
        ... and so on...

1 个答案:

答案 0 :(得分:0)

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    { 
        Master.PageTitle(PageTitles.UpdateAdd);

        NameValueCollection nvc = Request.Form;
        if (nvc.Count == 2 && nvc["ThisIsAnUpdate"] == "1")
        {
            // Ladies and gentlemen, we have an update. Do the work.
            ThisIsAnUpdate.Value = "1";

            DetailedAddressEntity myCustomer = new RetreiveInformation().FetchDetailedInformation(nvc["ID"]);

            SetupEdit(myCustomer);
        }
    }
}