繁体   English   中英

获取实例化工作流的SharePoint列表数据?

[英]Get SharePoint list data that instantiated workflow?

因此,我在Visual Studio中创建一个SharePoint 2010项目,该项目包含与某个列表关联的顺序工作流(仅限场解决方案)项,以便在项目添加到列表时工作流启动。

我的问题是,说一个项目是按以下格式添加的:

名称| 电子邮件

戴夫| dave@dave.com

有没有办法以编程方式将这些数据存储在变量中? 按原样,不使用任何硬编码索引或任何东西,只需以编程方式获取它,以便我可以提取这些数据并将其存储在两个C#变量(int iD,string emailAddress)中,并且工作流知道哪个列表项被踢掉了?

目前我正在这样做的方式是:

using (SPWeb oWeb = SPContext.Current.Web) {
    SPList oList = web["List Name"];
    string name = list.Items[(oList.ItemCount - 1)]["Name"].ToString();
}

但我宁愿不使用索引器,因为如果快速添加另一个项目并且列表重新排序然后......灾难,索引可能会关闭。

提前致谢!

解决了它们! 非常愚蠢的我忽略了这一点,但这是解决方案:

C#为您创建一个类型为SPWorkflowActivationProperties的workflowProperties变量,其中包含获取所需数据的所有方法和属性:

public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties(); // auto generated code.

然后,要获取列表项数据甚至列出数据,您只需:

SPList oList = workflowProperties.List; // get the list that contains the list item on which the workflow instance is running.
SPListItem oItem = workflowProperties.Item; // get the list item on which the workflow instance is running.

因此,要获得我的“名称”数据,我将不得不:

string name = workflowProperties.Item["Name"].ToString();

希望这对某人有所帮助,虽然幸运的是没有人像我一样愚蠢,所以你们可能会自己解决这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM