2012-03-19 27 views
0

我有一個updatepanel,點擊一個按鈕後提交頁面。該代碼是updatepanel工作一次,然後提交頁面(asp.net c#)

<asp:ScriptManager ID="MainScriptManager" runat="server" EnablePageMethods="true" /> 

<asp:UpdatePanel ID="pnlCalendar" runat="server"> 
    <ContentTemplate> 
     <asp:PlaceHolder ID="panCalendarHolder" runat="server"></asp:PlaceHolder> 
     <br /><br /> 
     <asp:Button id="btnViewWholeWeek" text="View Whole Week" runat="server" CssClass="normal-button" OnClick="viewWholeWeek" CausesValidation="false"></asp:Button> 
    </ContentTemplate> 
</asp:UpdatePanel> 

上按功能不包含任何代碼,因爲我一直在用的是測試,看它是否是造成問題。下面是它無論如何

protected void viewWholeWeek(object sender, EventArgs e) { 
    HtmlContainerControl paraDayName = (HtmlContainerControl)new HtmlGenericControl("p"); 
    paraDayName.InnerHtml = "test"; 
    panCalendarHolder.Controls.Add(paraDayName); 
} 

我按上面的按鈕一次...它的工作原理 - 刷新的UpdatePanel。我再次按下它並提交頁面。我有一個<form id="frmMain" runat="server"></form>標記內的一切....

任何想法?

+0

'提交頁面'是什麼意思?每回發一次即使異步提交頁面。您是否知道您需要在每次回發中手動在page_load中重新創建每個動態創建的控件?否則它不會被重新創建。 – 2012-03-19 16:58:31

+0

按鈕的第一次點擊會執行異步操作,然後在您第二次點擊它時提交整個頁面。即:不是更新面板。這些按鈕不是動態創建的 - 它們是標準的HTML。 – 2012-03-19 17:06:41

回答

0

我試過你的代碼,那裏根本沒有問題...也許你給我們更多的細節!你在Page_load函數中做什麼?

+0

我已經接受了這個答案,因爲它促使我​​查看page_load中的代碼。我正在做一些欺騙,如果沒有設置變量,則強制重定向。 IsPost返回營救。 – 2012-03-26 09:53:21

+0

我認爲** IsPostBack **是幾乎所有頁面的必備屬性:)我很高興我的簡單評論幫助了您 – 2012-03-27 09:39:02

0

在更新面板類中嘗試使用updateMode = Conditional。正如你所知,默認情況下它的值是Always。

0

這是固定的這個樣板代碼加入一些常見的錯誤:

private void EnsureUpdatePanelFixups() 
{ 
    if (this.Page.Form != null) 
    { 
     string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"]; 

     if (formOnSubmitAtt == "return _spFormOnSubmitWrapper();") 
     { 
      this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();"; 
     } 
    } 

    ScriptManager.RegisterStartupScript(this, typeof(ThisClassTypeGoesHere), "SomeStringToBeTheKey", "_spOriginalFormAction = document.forms[0].action;_spSuppressFormOnSubmitWrapper=true;", true); 
} 

確保被調用每一個回發。我從一位同事那裏得到了這個信息,所以我不能找到一個消息來源,對不起。

+0

這不是一個具體的事情嗎? – 2012-03-19 23:05:55

+0

我實際上只在SharePoint上工作,從不只是ASP,所以可能。 – Servy 2012-03-20 13:37:03

相關問題