我正在为学校的项目工作建立一个网站。 主要想法是用户可以报告损坏或报告无法运行的计算机。 然后IT部门可以放弃,如果他们已经采取任何步骤尝试修复它,如果问题是密切的,还有一个复选框。如果检查并更新了表单视图中的复选框,则应向原始用户发送自动电子邮件,并显示问题已解决的消息。除了电子邮件部分,我已经完成了所有工作,一切正常。 有人可以给我一些关于我应该怎么做的建议吗?有一个独特的数据源来处理更新声明。
你真诚的; 甲
这是我的代码:
<asp:AccessDataSource ID="accAfgehandeld" runat="server"
DataFile="~/App_data/dbMeldingen.mdb"
DeleteCommand="DELETE FROM [tblMeldingen] WHERE [MeldingID] = ?"
InsertCommand="INSERT INTO [tblMeldingen] ([MeldingID], [Afgehandeld], [Categorie]) VALUES (?, ?, ?)"
SelectCommand="SELECT [MeldingID], [Afgehandeld], [Categorie] FROM [tblMeldingen] WHERE ([MeldingID] = ?)"
UpdateCommand="UPDATE [tblMeldingen] SET [Afgehandeld] = true, [Categorie] = ? WHERE [MeldingID] = ?"
OnUpdated="OnDSUpdatedHandler">
<DeleteParameters>
<asp:Parameter Name="MeldingID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="MeldingID" Type="Int32" />
<asp:Parameter Name="Afgehandeld" Type="Boolean" />
<asp:Parameter Name="Categorie" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:QueryStringParameter Name="MeldingID" QueryStringField="id" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Categorie" Type="Int32" />
<asp:Parameter Name="MeldingID" Type="Int32" />
</UpdateParameters>
</asp:AccessDataSource>
和我的脚本在同一页面中:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="meldingendetails.ascx.vb" Inherits="meldingendetails" %>
<script runat="server">
private void OnDSUpdatedHandler(Object sender, e.Updated) {
if (e.AffectedRows > 0)
{
MailMessage mailMessage = new MailMessage();
SmtpClient smtpClient = new SmtpClient("smtp.your-isp.com");
smtpClient.Send(mailMessage);
}
}
</script>
Visual Studio使用我的脚本反复出错,即使是从void部分......
答案 0 :(得分:0)
设置OnUpdated-handler
<asp:SqlDataSource
...
UpdateCommand="..."
OnUpdated="OnDSUpdatedHandler">
</asp:SqlDataSource>
并使用它发送电子邮件
<script runat="server">
private void OnDSUpdatedHandler(Object source, SqlDataSourceStatusEventArgs e) {
if (e.AffectedRows > 0) {
MailMessage mailMessage = new MailMessage();
...
SmtpClient smtpClient = new SmtpClient("smtp.your-isp.com");
smtpClient.Send(mailMessage);
}
}
</script>