Проблема с настройкой HtmlSelect после загрузки страницы - PullRequest
1 голос
/ 18 июня 2010

У меня есть пользовательский элемент управления C #, который я использую для отображения формы адреса. На контроле у ​​меня есть выбор для выбора вашего состояния. На странице загрузки я установил значения по умолчанию для выбора. У меня есть открытый метод, где я передаю переменную для назначения всей информации об адресе.

Моя проблема заключается в том, что выборки не обновляются, чтобы иметь правильное выбранное значение при запуске метода. Есть мысли?

Ниже приведен код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

//Epicor Soap Stuff
using Clientele.Application.Client;
using Clientele.Application.Common;
using Clientele.Modules.Party.Common;
using Clientele.Modules.Party.Interface;

using System.Configuration;
using System.Net;
using System.Data;

namespace AccountCenterUserControls.Address
{
    public partial class AddressFieldSet : System.Web.UI.UserControl
    {
        //Credentials
        static String EpicorWSLogin = ConfigurationManager.AppSettings["EpicorWSLogin"].ToString();
        static String EpicorWSPassword = ConfigurationManager.AppSettings["EpicorWSPassword"].ToString();
        static String EpicorWSDomain = ConfigurationManager.AppSettings["EpicorWSDomain"].ToString();
        NetworkCredential myCredentials = new NetworkCredential(EpicorWSLogin, EpicorWSPassword, EpicorWSDomain);

        private epicor_Organization.OrganizationFullDataSet.PhysicalAddressRow _Address;

        protected void Page_Load(object sender, EventArgs e)
        {
            //Load Address Data
            epicor_ValueListEntry.ValueListEntry ValueListEntryWS = new epicor_ValueListEntry.ValueListEntry();
            ValueListEntryWS.Credentials = myCredentials;

            region.DataSource = ValueListEntryWS.GetByListID(ValueListName.PhysicalAddressRegion).ValueListEntry.Select("", "Description ASC");
            region.DataTextField = "Description";
            region.DataValueField = "Entry";
            region.DataBind();

            country.DataSource = ValueListEntryWS.GetByListID(ValueListName.PhysicalAddressCountry).ValueListEntry;
            country.DataTextField = "Entry";
            country.DataValueField = "ValueListEntryID";
            country.DataBind();

            //Set some inteligent defaults for the state/country dropdown
            country.Value = Clientele.Modules.Party.Interface.Country.USA.ToString();
            region.Value = "MD";
        }

        public void Set(epicor_Organization.OrganizationFullDataSet.PhysicalAddressRow Address)
        {
            _Address = Address;

            address1.Value = Address["Address1"].ToString();
            address2.Value = Address["Address2"].ToString();
            address3.Value = Address["Address3"].ToString();
            city.Value = Address["City"].ToString();
            zip.Value = Address["PostalCode"].ToString();
            region.Value = Address["Region_"].ToString();
            country.Value = Address["CountryID"].ToString();
        }

        public epicor_Organization.OrganizationFullDataSet.PhysicalAddressRow Get()
        {
            _Address["Address1"]=address1.Value;
            _Address["Address2"]= address2.Value;
            _Address["Address3"]=address3.Value ;
            _Address["City"] = city.Value;
            _Address["PostalCode"] = zip.Value;
            _Address["Region"] = region.Value;
            _Address["CountryID"] = country.Value;

            return _Address;
        }

    }
}

Из родительского элемента управления я вызываю функцию Set () в своем событии Page_Load. Все данные, кроме моего выбора, установлены правильно.

Моя проблема в том, что я не могу установить значение выбора после события Page_Load? Как я могу обойти это?

1 Ответ

1 голос
/ 21 июня 2010

Я понял это. Событие Page_Load запускается после моего метода Set. Я обменял событие Page_Load на Page_Init, и все было хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...