2012-04-25 44 views
2

我在这里试图增加回传后iframe的高度,但它不工作,本身没有弹出up.Here报警是我的代码回发后Javascript函数无法正常工作?

function increaseiframesize() { 
alert("aaaaaa"); 
$('#MainContent_IFTrendAnalysis').height('523'); 
} 

protected void lnkBTNSubmit_Click(object sender, EventArgs e 
{ 
TextBox txtTextBoxRetailGroup = (TextBox)uscRetailParameters.FindControl("txtRetailCustomerGroup"); 
TextBox txtTextBoxPPGroup  = (TextBox)uscRetailParameters.FindControl("txtProductGroup"); 
if (txtTextBoxRetailGroup.Text != string.Empty && txtTextBoxPPGroup.Text != string.Empty && txtATrendStartDate.Text != string.Empty && txtATrendEndDate.Text != string.Empty) 
{ 
this.IFTrendAnalysis.Attributes.Add("src", ""); 
ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptRegistration", "increaseiframesize();", true); 
} 
} 

<asp:UpdatePanel ID="Update" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<iframe id="IFTrendAnalysis" name="IFTrendAnalysis" scrolling="auto" runat="server" 
width="100%" height="403" frameborder="0"></iframe> 
</ContentTemplate> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="imgBTNSalesTrendChart" /> 
<asp:AsyncPostBackTrigger ControlID="imgBTNSalesLiftChart" /> 
<asp:AsyncPostBackTrigger ControlID="lnkBTNSubmit" /> 
<asp:AsyncPostBackTrigger ControlID="imgBTNSalesLiftChart" /> 
<asp:AsyncPostBackTrigger ControlID="imgBTNTAEventROI" /> 
<asp:AsyncPostBackTrigger ControlID="imgBTNTrendAnalyzeTBL" /> 
</Triggers> 
</asp:UpdatePanel> 

任何建议???

回答

2

我觉得你正试图调用你的方法后,ajax请求发送和完成,控制回到浏览器。应该执行onload的JavaScript不会执行所有的Ajax。如果是AJAX调用,然后做这个

注册endRequest事件在JavaScript

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler) 

打电话给你的方法在这里

function EndRequestHandler(sender, args) 
{ 
    increaseiframesize(); 
} 
+0

什么叫Ajax调用在这里的意思是? – bala3569 2012-04-25 07:32:22

+0

你有更新面板和触发器,这意味着你正在发送ajax呼叫。 – Adil 2012-04-25 07:35:24

+0

是的,我给它像这样 bala3569 2012-04-25 07:37:41