У меня есть пользовательский элемент управления 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? Как я могу обойти это?