[英]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.