我正在使用 iframe 从父页面打开新的 .aspx 页面。子页面正在使用 ajaxcontroltoolkit(ajax CalendarExtender)。现在在提交表单时,我想关闭 iframe 并返回父页面。为此,我正在使用以下代码。
ClientScript.RegisterStartupScript(this.GetType(), "scriptid", window.parent.location.href='ViewVendors.aspx'", true);
如果我从子页面中删除 ajax 控件但不适用于 ajax 控件,则此文件有效。我想同时使用 calenderExtender 和 iframe 。我该如何使用它以及这种所谓的异常行为有什么问题。
这是我的提交按钮事件处理程序的代码。
protected void btnUpdate_Click(object sender, EventArgs e)
{
try
{
objVendor.VendorID = Convert.ToInt64(Request.QueryString["Id"]);
objVendor.Name = txtName.Text;
objVendor.BillingAddress = txtBillingAddress.Text;
objVendor.ShippingAddress = txtShippingAddress.Text;
objVendor.ContactPersonName = txtContactPerson.Text;
objVendor.ContactNumber = txtContactNumber.Text;
objVendor.EmailID = txtEmailID.Text;
objVendor.VendorSinceDate = Convert.ToDateTime(txtVendorDate.Text);
objVendor.IsActive = Convert.ToBoolean(rdblStatus.SelectedValue);
objVendor.Logo = FileUpload();
int intResult = objVendor.UpdateVendor();
if (intResult > 0)
{
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "window.parent.location.href='ViewVendors.aspx'", "scriptid", true);
//ClientScript.RegisterStartupScript(this.GetType(), "scriptid", "window.parent.location.href='ViewVendors.aspx'", true);
}
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
lblMessage.CssClass = "ERROR";
}
}
//编辑现在,只要我不向子页面添加日历扩展器,我的代码就可以正常工作。当我在子页面中添加日历扩展器时,它显示错误“无法修改控件集合,因为控件包含代码块(即 <% ... %>)”。如果我删除压延机,它再次运行良好。通过谷歌搜索,我发现 Javascript 标记中的 <% %> 正在产生问题。我该如何解决它以及为什么在这种情况下压延控制会产生问题?
这是我的脚本的代码。
<script type="text/javascript">
function uploadStarted() {
$get("imgDisplay").style.display = "none";
}
function uploadComplete(sender, args) {
var imgDisplay = $get("imgDisplay");
// var imgPhoto = $get("#imgPhoto");
var imgPhoto = document.getElementById('<%=imgPhoto.ClientID %>');
imgDisplay.src = "images/loader.gif";
imgPhoto.style.display = "none";
imgDisplay.style.cssText = "";
var img = new Image();
img.onload = function () {
imgDisplay.style.cssText = "height:100px;width:100px";
imgDisplay.src = img.src;
};
img.src = "<%=ResolveUrl(UploadFolderPath) %>" + args.get_fileName();
}
</script>