我有類似下面的形式:的觀點務實點ASP.NET的頁面週期
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="plcHolder" runat="server">
</asp:PlaceHolder>
<asp:Button ID="btnSubmit" Text="submit" runat="server"
onclick="btnSubmit_Click" />
</div>
</form>
這裏是我的代碼:
protected string FetchDataFromDatabase()
{
return "some long string";
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.plcHolder.Controls.Add(new Label() { Text = FetchDataFromDatabase() });
}
}
Page_Load()
從數據庫中獲取的長字符串。
protected void btnSubmit_Click(object sender, EventArgs e)
{
this.plcHolder.Controls.Add(new Label() { Text = "new text" });
}
我的Button
將新的文本添加到我的頁面。但是,當我點擊按鈕時,我只看到字符串「新文本」,但我正在尋找兩個文本(「一些長串新文本」)。
因爲文本已經加載到頁面,所以我不想在每次點擊按鈕時調用我的數據庫。我如何實現這一目標?
我知道這個例子看起來有點奇怪,這是因爲我試圖給出最小的工作示例。
'FetchDataFromDatabase()'實際上是否返回一個字符串? –
您是否嘗試在Page.IsPostBack塊中放置斷點以確保它正在執行時沒有錯誤? – rivarolle
@BradM,不,它獲取用戶定義的對象列表。我正在使用這些數據和新的控件填充'佔位符'。 – Sait