0

这是我的 UserControl.ascx.cs 部分类

namespace SP.ExampleProject.CONTROLTEMPLATES
 {
    public partial class ExampleProjectUserControl : UserControl
  {

    public SPUser currentSuperUser = SPContext.Current.Web.CurrentUser;

    protected void Page_Load(object sender, EventArgs e)
    {
        int id = this.ListItem.ID; // Can't use ListItem
        SPWeb web = Utility.GetWebWithSystemPermissions(SPContext.Current.Web);
        SPList Decision_List = web.GetList(Utility.GetServerRelativeUrl(web) + "Lists/Decisions");
        SPFieldUserValue boss = new SPFieldUserValue(web, this.ListItem["Bosses"].ToString()); // Can't use ListItem too
        SPListItem item = Desicion_List.GetItemById(id);

    }
  }
}

我不能在这个类中使用“ListItem”。

所以;

如何从部分类访问我的列表项?

如何在 ascx 中使用 boss 变量?

我想要这个,因为我想在 ascx 文件中比较 currentUser.ID 和 boss.User.ID 并在模板上显示特殊字段。

提前致谢

4

2 回答 2

0
    protected int GetBossId()
    {
        return new SPFieldUserValue(SPContext.Current.Web, SPContext.Current.ListItem["Bosses"].ToString()).LookupId;
    }

删除所有。并编写此函数。现在你可以在 Usercontrol.ascx 获得 BossID

于 2018-08-10T10:31:15.420 回答
0

如果您想在用户控件中获取当前的 SharePoint ListItem,我们可以使用以下代码行。

 SPListItem listItem = SPContext.Current.ListItem;

如果“ListItem”不是 SharePoint ListItem,我建议您在 UserControl.ascx 文件中提供代码以供进一步研究。

于 2018-08-02T03:20:15.723 回答