我正在使用 VS 2010(框架 4.0)和 rad/telerik 控件进行网站开发。场景是我有 radwindow 弹出窗口,实际上是一个确认消息框。根据决定,我必须再次调用必须调用相应函数的基本页面。在这里,我想设置 Country dropdownlist 和 state dropdowlist。我在 Radwindow 的 OnClientClose 事件上的 javascript 函数中调用服务器端事件,并在服务器端函数中调用相应的函数来设置表单字段,其中我也设置了 Country 和 State 列表。但是当我尝试设置 Country selected 值时,尽管下拉列表中有项目,但它不会被选中。这是代码,
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;
请注意,当我正常调用同一个函数时,一切正常。在这种情况下,我在 Country 列表中找到了 Items,并且 objAAInfo.CompanyCountryId 也在列表中。
请帮我解决这个问题