1

我一直在尝试关注这个博客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;

如果有人可以为我简化这个,将不胜感激......

非常感谢。

马克。

4

1 回答 1

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 :)
}
于 2013-05-23T09:09:42.743 回答