首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

工作流中发送邮件有关问题

2012-02-26 
工作流中发送邮件问题求助啊。。用workflow的做的工作流,当createtask的时候我发送一封邮件给任务受理人,邮

工作流中发送邮件问题
求助啊。。
用workflow的做的工作流,当createtask的时候我发送一封邮件给任务受理人,邮件的内容是任务的链接地址,受理人在邮箱中直接点击链接就可以跳转到受理页面了。
问题是,我不知道如何可以得到任务的链接地址(把任务的链接当做邮箱的内容发送给受理人)。。。
也就是这样一个链接
"http://sh-mosstest/Lists/Tasks/DispForm.aspx?ID=temptid"

temptid的值,不知道该怎么得到

[解决办法]
从对象的属性里取吧
不熟悉工作流 没怎么接触
[解决办法]
看看这段代码:

protected override ActivityExecutionStatus Execute(ActivityExecutionContext provider)
{
//获取到工作流服务
ISharePointService service = (ISharePointService)provider.GetService(typeof(ISharePointService));
if (service == null)
{
throw new InvalidOperationException();
}

try
{
//获取到列表
SPList list = __Context.Web.Lists[new Guid(__ListId)];
//获取到列表项
SPListItem item = list.GetItemById(Convert.ToInt32(__ListItem));
//计算任务查看URL
string url = this.__Context.Web.Url +
"_layouts/codeArt/SPTaskRedirect.aspx?ListId=" + item.ParentList.ID + "&ItemId=" + item.ID;
//发送邮件参数
StringDictionary headers = new StringDictionary();
headers["to"] = this.ParseSendTo(this.To);
headers["subject"] = this.Subject;
if (null != this.CC)
{
headers["cc"] = this.ParseSendTo(this.CC);
}
if (null != this.BCC)
{
headers["bcc"] = this.ParseSendTo(this.BCC);
}

string body = null;
if (null != this.Body)
{
Activity parent = provider.Activity;
while (parent.Parent != null)
{
parent = parent.Parent;
}
//处理邮件内容中的属性绑定,Helper是系统自带的类
body = Helper.ProcessStringField(this.Body, parent, this.__Context);
}

body += "<br/><a href='" + url + "'><b>点击此处查看或处理任务</b></a>";

//发送邮件
service.SendEmail(base.WorkflowInstanceId, false, headers, body);
return ActivityExecutionStatus.Closed;

}
catch (Exception ex)

//将异常信息记录到日志列表
service.LogToHistoryList(base.WorkflowInstanceId, SPWorkflowHistoryEventType.WorkflowError, __Context.Web.CurrentUser.ID, TimeSpan.MinValue, "SendMailWithTaskLinkActivity Error",
ex.Message + ex.StackTrace, "");
}
return ActivityExecutionStatus.Faulting;
}

热点排行