我一直在尝试关注此博客http://world.episerver.com/Blogs/Anders-Hattestad/Dates/2013/1/Upload-within-Xform/
表单上传有效,但是文件没有出现在电子邮件中,而是上传到服务器上,所以它做了一些事情。
我的指示是......
只需附加
即可BeforeSubmitPostedData event
Check if ((e.FormData.ChannelOptions & ChannelOptions.Email) != ChannelOptions.Email) is true
然后发送自定义邮件并删除发送邮件选项
e.FormData.ChannelOptions &= ~ChannelOptions.Email;
如果有人能为我简化这一点,我们将不胜感激......
非常感谢。
马克。
答案 0 :(得分:2)
在您的global.asax中的Application_Start中,您需要附加到XFormControl.ControlSetup事件
protected void Application_Start(object sender, EventArgs e)
{
XFormControl.ControlSetup += new EventHandler(XForm_ControlSetup);
}
然后在您的XForm_ControlSetup方法中,附加到相关事件
public void XForm_ControlSetup(object sender, EventArgs e)
{
XFormControl control = (XFormControl)sender;
control.BeforeSubmitPostedData += new SaveFormDataEventHandler(XForm_BeforeSubmitPostedData);
}
并在您的XForm_BeforeSubmitPostedData方法
中public void XForm_BeforeSubmitPostedData(object sender, SaveFormDataEventArgs e)
{
// Untested
if ((e.FormData.ChannelOptions & ChannelOptions.Email) != ChannelOptions.Email)
{
// Send custom mail here
// Remove the send mail option
e.FormData.ChannelOptions &= ~ChannelOptions.Email;
}
// End untested :)
}