我有一個csv importroutine,它將CSV值導入到Sitecore中。完成這個過程後,我想在asp:literal中顯示錯誤。這是行不通的,我認爲這是因爲我需要一個更新面板,以便能夠在第一次回發(csv上傳/導入)後更新文本。處理CSV文件後在updatepanel中顯示錯誤
我做了這個:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
和編碼這一點:
string melding = string.Format("Er zijn {0} objecten geïmporteerd.{1}", nrOfItemsImported, errors);
ViewState["Melding"] = melding;
,我有一個按鈕。在這個按鈕的onclick我有:
Literal literal = new Literal();
literal.Text = (string)ViewState["Melding"];
literal.ID = DateTime.Now.Ticks.ToString();
UpdatePanel1.ContentTemplateContainer.Controls.Add(literal);
PlaceHolder1.Controls.Add(literal);
現在當我按下按鈕,我想更新的面板,這樣它會告訴我的文字與它的ERRORMSG。但是這並沒有發生。怎麼會這樣?我猜它是與我的視圖狀態,我沒有看到後我按下按鈕的視圖狀態鍵...
@Update:
我發現這個問題。我在一個會話中存儲信息,但是關鍵字i的數據存儲信息太大。這使得會話密鑰爲空。我在我的文字中發佈了一個空字符串,因此沒有顯示任何信息。我現在正在尋找一種更好的方式來存儲我的數據並將其顯示在我的updatepanel中。我試過Viewstate/Session/Cookies,它們都不會按我想要的方式工作。當我使用視圖狀態時,我無法存儲信息。 viewstate(debugmode)顯示計數0和0鍵...希望有人知道一個好方法,以確保我的errorstring(476kb)存儲在某處,我可以輕鬆地將其發佈到我的updatepanel的文字。
我會刪除這部分:'literal.ID = DateTime.Now.Ticks.ToString()',只是使用'literal.ID =「狀態」',不確定ASP.Net是否意識到這可能是一個無效的ID ,但它可能會這樣做。 – 2010-04-07 11:49:46
你嘗試過調試嗎?你的代碼是否到達Button1_Click事件? – Prutswonder 2010-04-07 11:52:57