非常によく似た動作の 3 つのページがあるため、3 つの動作を持つユーザー コントロールを作成しました。列挙型とこの列挙型のプロパティを追加してこれを行いました。
public enum ucType
{
CustomersWhoHaveAContract, CustomersWaitingForContract, CustomerOfPreReservedContracts
}
public ucType UserControlType;
protected void BtnLoadInfo_Click(object sender, ImageClickEventArgs e)
{
switch (UserControlType)
{
case ucType.CustomersWhoHaveAContract:
DoA();
break;
case ucType.CustomersWaitingForContract:
DoB();
break;
case ucType.CustomerOfPreReservedContracts:
DoC();
break;
default:
break;
}
私のページでは、UserControlType に値を割り当てます。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ucCustomersWithContract1.UserControlType = UserControls.ucCustomersWithContract.ucType.CustomerOfPreReservedContracts;
}
}
しかし、ボタンをクリックすると、 UserControlType は常にCustomersWhoHaveAContract
になります。つまり、値が失われます。問題はどこだ?