[英]Page_Load run Button_Click
我在SharePoint 2013中有一個Web部件,其中添加了excel中的新項目。 該Web部件包含上載控件,按鈕和文本框。 我從上傳控件中選擇文檔,然后單擊按鈕以在SP中加載項目,如果成功,則在文本框中看到“成功”或以其他方式看到“未成功”。
我的問題:如果我用Web部件刷新頁面,則文本框仍然包含舊文本,但是我希望每次刷新后都看不到它。
我嘗試使用Page.IsPostBack,但我認為我沒有正確使用它。
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
textbox1.Text = "";
}
protected void btn3_Click(object sender, EventArgs e)
{
if (!Page.IsPostBack)
return;
if(!upload.HasFile)
{
textbox1.Text += "You didn't choose an Excel file";
return;
}
...
}
<asp:Button ID="btn3" runat="server" OnClick="btn3_Click" Text="Add Items" />
在這種情況下,您可以實現一個特殊的代碼塊以將瀏覽器刷新檢測為
private bool refreshState;
private bool isRefresh;
protected override void LoadViewState(object savedState)
{
object[] AllStates = (object[])savedState;
base.LoadViewState(AllStates[0]);
refreshState = bool.Parse(AllStates[1].ToString());
if (Session["ISREFRESH"] != null && Session["ISREFRESH"] != "")
isRefresh = (refreshState == (bool)Session["ISREFRESH"]);
}
protected override object SaveViewState()
{
Session["ISREFRESH"] = refreshState;
object[] AllStates = new object[3];
AllStates[0] = base.SaveViewState();
AllStates[1] = !(refreshState);
return AllStates;
}
在按鈕中單擊即可
protected void btn3_Click(object sender, EventArgs e)
{
if (isRefresh == false)
{
Insert Code here
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.