如何在 Sharepoint 2016 中通过 Visual Web 部件更新项目后重新加载列表?

Posted

技术标签:

【中文标题】如何在 Sharepoint 2016 中通过 Visual Web 部件更新项目后重新加载列表?【英文标题】:How can reload list after update item by Visual Web Part in Sharepoint 2016? 【发布时间】:2021-04-03 08:57:22 【问题描述】:

我创建了一个可视化 webpart 来更新列表数据:

点击submit按钮时我的代码:

protected void btnSubmit_Click(object sender, EventArgs e)
        
          
            using (SPSite site = new SPSite(SPContext.Current.Web.Url))
            
                using (SPWeb web = site.OpenWeb())
                
                    SPList list = web.Lists["Employee"];
                    SPListItem item = list.Items.Add();
                    item["Title"] = txtName.Text;
                    item.Update();                    
                
            
        

新项目已添加到列表,但列表无法刷新。

我必须按 F5,列表会刷新。

Sharepoint 2016 中的 Visual Web Part 更新项目后如何重新加载列表?

【问题讨论】:

【参考方案1】:

尝试使用 Response.Redirect 刷新列表视图页面,如下所示:

 protected void Button1_Click(object sender, EventArgs e)
    
    
        using (SPSite site = new SPSite(SPContext.Current.Web.Url))
        
          using (SPWeb web = site.OpenWeb())
          
           
            SPList list = web.Lists["Employee"];
            SPListItem item = list.Items.Add();
            item["Title"] = TextBox1.Text;
            item.Update();
          
        

      Response.Redirect("http://sp2016/sites/dev/Lists/Employee/AllItems.aspx");
      
    

【讨论】:

谢谢,我使用:Response.Redirect(SPContext.Current.Web.Url);,刷新目标页面。【参考方案2】:

有 2 种不同的选项可以实现这一目标。 您可以使用 Response.Redirect 方法重新加载页面。 或者在 update() 指令之后,调用你必须在页面加载方法中使用的网格绑定代码。

【讨论】:

以上是关于如何在 Sharepoint 2016 中通过 Visual Web 部件更新项目后重新加载列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows中通过Cygwin安装和运行Nmap程序?

如何在 VUE 中通过 v-model 直接更新嵌套对象数组值?

如何在 C++ 中通过引用返回向量

caml library

如何在 C# 中通过 lpEnvironment 调用 CreateProcess()

如何在 vue.js 中通过 NeDB 的“返回”获取结果