Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File EPiServer XForm-将文件附加到电子邮件_File_Email_Upload_Xforms_Episerver - Fatal编程技术网

File EPiServer XForm-将文件附加到电子邮件

File EPiServer XForm-将文件附加到电子邮件,file,email,upload,xforms,episerver,File,Email,Upload,Xforms,Episerver,我一直在努力关注这个博客 表单上传可以工作,但是文件不会出现在电子邮件中,而是上传到服务器上,所以它可以做一些事情 我得到的指示是 只需连接到 BeforeSubmitPostedData event Check if ((e.FormData.ChannelOptions & ChannelOptions.Email) != ChannelOptions.Email) is true 然后发送自定义邮件并删除“发送邮件”选项 e.FormData.ChannelOptions &

我一直在努力关注这个博客

表单上传可以工作,但是文件不会出现在电子邮件中,而是上传到服务器上,所以它可以做一些事情

我得到的指示是

只需连接到

BeforeSubmitPostedData event 
Check if ((e.FormData.ChannelOptions & ChannelOptions.Email) != ChannelOptions.Email) is true 
然后发送自定义邮件并删除“发送邮件”选项

e.FormData.ChannelOptions &= ~ChannelOptions.Email;
如果有人能帮我简化一下,我将不胜感激

非常感谢


Marc.

在应用程序中\u在您的global.asax中启动,您需要附加到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 :)
}

谢谢你的回复!目前我的Form.ascx.cs文件中没有控件设置,我可以添加一个吗??此外,添加顶行会使站点崩溃。。。将尝试使用BeforeSumbitPostedData,因为该行确实存在。。非常感谢。ControlSetup是XFormControl类上的静态事件。添加顶行使网站崩溃是什么意思?