您的位置:首页 > 编程语言 > ASP

SharePoint State Machine Workflow +ASP.NET ASPX Form step by step(3)-创建Instantiation Form

2008-12-19 09:50 435 查看
创建一个Instantiation表单,其实和创建一个Association表单是十分相识的,我也不像在这里把代码一一的贴出来,最后我会把所有的工程一次性的贴出来的.

在前面创建Association Form的时候,为了简化过程,我没有讲如何将Association Data传到workflow中,并在Instantiation Form中使用.

首先,为了简化,Association表单和Instantiation表单是一样的,两个表单都是一个PeoplePicker和一个TextBox,所以用于表示两个表单数据的类是相同的,只不过为了让代码看起来更清楚点,我定义了两个类,完全一样,只不过名字是不同的.

Code

public string serializeInstantiationFormDataToXML()

{

InstantiationData mydata = new InstantiationData();

string serializedDataToReturn;

foreach (PickerEntity pe in Reviewers.ResolvedEntities)

{

mydata.AddContact(pe.Key);

}

mydata.Description = Description.Text;

.

using (MemoryStream stream = new MemoryStream())

{

XmlSerializer serializer = new XmlSerializer(typeof(InstantiationData));

serializer.Serialize(stream, mydata);

stream.Position = 0;

byte[] bytes = new byte[stream.Length];

stream.Read(bytes, 0, bytes.Length);

serializedDataToReturn = Encoding.UTF8.GetString(bytes);

}

return serializedDataToReturn;

}

private AssociationData DeserializeAssoicationData(string dataPassedIn)

{

XmlSerializer serializer = new XmlSerializer(typeof(AssociationData));

XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(dataPassedIn));

AssociationData deserializedAssociationFormData = (AssociationData)serializer.Deserialize(reader);

return deserializedAssociationFormData;

}

至于Instantiation表单的ASPX页面,对于我来说,是很Assocaition页面是完全一样的,除了最开始的Inherit属性不同之外,其它的完全一样.而其相应的后台代码,和Association的后台代码是十分相似的,大家到时候看看代码就明白了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: