1

rad /telerikコントロールとともにWebサイト開発にVS2010(フレームワーク4.0)を使用しています。シナリオは、radwindowポップアップ、実際には確認メッセージボックスがあることです。決定に基づいて、それぞれの関数を呼び出さなければならないベースページを再度呼び出す必要があります。ここでは、国のドロップダウンリストと州のドロップダウンリストを設定します。RadwindowのOnClientCloseイベントのjavascript関数でサーバー側イベントを呼び出し、サーバー側関数でそれぞれの関数を呼び出して、国と州のリストも設定するフォームフィールドを設定します。しかし、国の選択値を設定しようとすると、ドロップダウンリストに項目がありますが、選択されません。これがコードです、

Javascript関数

function OnradWndConfirmSelfOwnerClose(oWnd) {
            var hdn = document.getElementById("<%= hdnIsOwner.ClientID %>");
            try {
                var arg = oWnd.argument;
                if (arg == "YES") {
                    hdn.value = 'true';
                }
                else {
                    hdn.value = 'false';
                }
                __doPostBack('<%=this.btnInitializeOwnerForm.UniqueID %>', '');
            }
            catch (err) { }
        }

サーバー側機能、

protected void btnInitializeOwnerForm_Click(object sender, EventArgs e)
        {
            bool IsOwner = !String.IsNullOrEmpty(hdnIsOwner.Value) ? Convert.ToBoolean(hdnIsOwner.Value) : false;
            if (IsOwner)
            {
                SaveOwner();
            }
            else
            {
                InitializeOwnerData();
            }
        }

そして、InitializeOwnerData()には、SetDefaultFields()関数の呼び出しがあります。

private void SetDefaultFields(ApplicationAccessInfo objAAInfo)
        {
            //Set Company Information fields
            txtOrganizationName.Text = objAAInfo.EntityorOrganization;
            txtCompanyWebsite.Text = objAAInfo.CompanyWebsite;
            txtStreetAddress.Text = objAAInfo.StreetAddrees;
            txtOfficeNumber.Text = objAAInfo.SuiteorOfficeNumber;
            txtCity.Text = objAAInfo.City;

            if (Guid.Empty != objAAInfo.CompanyCountryId)
            {
                **ddlCountry.Items.FindByValue(objAAInfo.CompanyCountryId.ToString()).Selected = true;**
                PopulateStateList();
                if (ddlCountry.SelectedItem.Value != "0")
                    **ddlState.Items.FindByValue(objAAInfo.CompanyStateId.ToString()).Selected = true;**
            }

            txtPostalCode.Text = objAAInfo.PostalCode;

            //Disable Company Information fields
            txtCompanyWebsite.Enabled = false;
            txtOrganizationName.Enabled = false;
            txtStreetAddress.Enabled = false;
            txtOfficeNumber.Enabled = false;
            txtCity.Enabled = false;
            txtPostalCode.Enabled = false;
            ddlCountry.Enabled = false;
            ddlState.Enabled = false;
        }

アイテムはddlCountry.Items.FindByValue(objAAInfo.CompanyCountryId.ToString())。Selected = trueで選択されないため、最終的にエラーが発生します。ddlState.Items.FindByValue(objAAInfo.CompanyStateId.ToString())。Selected = true;

この同じ関数を通常どおり呼び出すと、すべてが完全に機能することに注意してください。このシナリオでは、国リストにアイテムが見つかり、objAAInfo.CompanyCountryIdもリストに含まれています。

これから私を助けてください

4

0 に答える 0