单击插入按钮时,试图从详细信息视图发送电子邮件
本文关键字:视图 详细信息 电子邮件 按钮 插入 单击 | 更新日期: 2023-09-27 18:05:50
我正在一个工作订单管理web应用程序,其中用户创建一个工作订单。要创建工作订单,我使用详细信息视图,并将其显示给主管,我使用gridview。
我有一个下拉列表字段:
<asp:TemplateField HeaderText="Type_of_Work_Order"
SortExpression="Type_of_Work_Order">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"
Text='<%# Bind("Type_of_Work_Order") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="DropDownList1" DataTextField="Type_of_Work_Order"
DataValueField="Type_of_Work_Order" runat="server" Height="29px" Width="599px"
SelectedValue = '<%# Bind("Type_of_Work_Order") %>'
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>Safety</asp:ListItem>
<asp:ListItem>Quality</asp:ListItem>
<asp:ListItem>General</asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
当用户输入所有信息并单击插入按钮时数据被插入到数据库中,但插入按钮是详细信息视图的一部分但新的用户要求是,当在下拉列表中选择值并单击插入按钮时我还希望能够向所有人发送电子邮件但插入按钮没有button_click事件
一旦我弄清楚如何为插入激活button_click事件,那么我计划执行以下操作
if (DropDownList1.Text == Type of Work Order Selected By the User)
{
// Create a Outlook Application and connect to outlook
Application OutlookApplication = new Application();
// create the MailItem which we want to send
MailItem email = (MailItem)OutlookApplication.CreateItem(OlItemType.olMailItem);
// Add a recipient for the email
email.Recipients.Add("**PEOPLE UNDER THE TYPE OF WORK ORDER GROUP**");
// add subject and body of the email
email.Subject = "Test";
email.Body = "This is a test email to check outlook email sending code";
// add display name, position and attach type for the attachment
string DisplayName = "MyAttachment";
int iPosition = email.Body.Length + 1;
int AttachType = (int)OlAttachmentType.olByValue;
//now attached the file
Attachment Attach = email.Attachments.Add("C:''test.txt", AttachType, iPosition, DisplayName);
//send email
email.Send();
}
任何帮助都将非常感谢
微软目前不建议,也不支持,从任何无人值守的、非交互式的客户端应用程序或组件(包括ASP、ASP、ASP、ASP和ASP. xml)自动化Microsoft Office应用程序。. NET、DCOM和NT服务),因为在此环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁。
如果您正在构建一个在服务器端上下文中运行的解决方案,那么您应该尝试使用那些对于无人值守执行是安全的组件。或者,您应该尝试找到至少允许部分代码在客户端运行的替代方案。如果从服务器端解决方案使用Office应用程序,则该应用程序将缺乏成功运行所需的许多功能。此外,您将在整个解决方案的稳定性方面承担风险。请参阅Office服务器端自动化的注意事项一文了解更多信息。
相反,您可以考虑使用System.Net.Mail命名空间或Outlook所基于的低级API - Extended MAPI。如果只处理Exchange,请参见Exchange中的EWS、EWS Managed API、EWS和web服务。