【发布时间】:2016-07-19 18:24:51
【问题描述】:
我在 SharePoint 2013 中有一个 Web 部件,它从 excel 中添加新项目。 Web 部分包含上传控件、按钮和文本框。我从上传控件中选择文档并单击按钮以在 SP 中加载项目,如果成功,我会在文本框中看到“Successfull”或以另一种方式看到“Not successfull”。
我的问题:如果我用 web-part 刷新页面,文本框仍然包含旧文本,但我希望在每次刷新后看到它为空。
我尝试使用 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" />
【问题讨论】:
-
我不是通过代码刷新页面,而是使用互联网浏览器。
-
if(!Page.IsPostBack)将完全阻止这种情况 - 它确保仅在第一页加载时为文本框分配空字符串,而不是在刷新时。如果您想要相反的行为,为什么要使用它? -
我使用 Page.IsPostBack == false 因为据我了解,这意味着它不是客户端 - 服务器答案。并且页面的刷新不需要服务器应答。
-
不,
IsPostBack意味着不同的东西。它表明您是在页面的第一次加载还是在用户进行一些交互后的后续加载 -
并且浏览器会在刷新时再次请求服务器,详情见this thread
标签: c# asp.net sharepoint