コードビハインドに2つのドロップダウンとその隠しフィールドがあり、attribute.addによってjavascript onchangeイベントを追加し、そのボタンのドロップダウンをクリックすると実行時にコントロールを追加するなどの動的アクションを実行するボタンがリセットされます。状態を維持するために、ドロップダウン付きの非表示フィールドがありますが、非表示フィールドから選択値を取得しますが、DDCity.Items.FindByValue をコーディングしても機能しないようです。
protected void Page_Load(object sender, EventArgs e)
{ DDCountry.Attributes.Add("onChange", "javascript:BufferAddDDCountry('" + DDCountry.ClientID + "');");
DDCity.Attributes.Add("onChange", "javascript:BufferAddDDCity('" + DDCity.ClientID + "');");}
if (hiddenDDCityValue.Text != "0")
{
DDCity.Items.FindByValue(hiddenDDCityValue.Text).Selected = true;// this dont work
}
if (!IsPostBack)
{ this.populateCountry();populateCity();}
JavaScriptコード
<script type="text/javascript">
function BufferAddDDCountry(objDd) {
try {
var objHidden = document.getElementById('hiddenDDcountryValue');
objHidden.value = document.getElementById(objDd).value;
} catch (e) {
alert(e);
}
};
function BufferAddDDCity(objDd) {
try {
var objHidden = document.getElementById('hiddenDDCityValue');
objHidden.value = document.getElementById(objDd).value;
} catch (e) {
alert(e);
}
};
</script>