我有一个系统,当用户点击按钮提交时,它会将数据插入表数据库中,并向用户发送电子邮件。我的问题是我想把一个链接到电子邮件。主体,以便用户可以单击到Approval页面的链接。但是当我点击链接的时候它显示的是the sites can't be reached
和id=0
。每个函数都工作得很好,我只是有一个问题与链接。
Private Sub SendMessage()
Dim mail As MailMessage = New MailMessage
mail.From = New MailAddress("notice@example.com")
mail.To.Add(New MailAddress("user1@example.com"))
mail.Subject = "Test Approval"
Dim link As String
Dim intID As Integer
link = "<a href=""http://localhost:" & "/test/test.aspx?id=" & LoadEmployeeDetailsById(intID) & """>Click here</a>"
mail.Body = "<br/><br/>Employee No : " & lblEmpNO.Text.Trim(Environment.NewLine, "<br />") & "<br/><br/>Employee Name : " & lblemployeename.Text.Trim & link
mail.IsBodyHtml = True
Dim client As New SmtpClient()
client.EnableSsl = True
Try
client.Send(mail)
'MsgBox("Sending Email succeeded")
Catch ex As Exception
'MsgBox("Sending Email failed. Please try again")
End Try
End Sub
下面是loaddemployeedetailsbyid (intID):
Private Function LoadEmployeeDetailsById(ByVal intid As Integer) As String
Using GetdutyDetails As New clsExternalWorkDuty_func
Dim dt As New DataTable
Dim result As String = ""
dt = GetdutyDetails.GetAllDataTableExternalWorkdutyDetailsByID(intid) 'Call the Function from AppCode
If dt.Rows.Count > 0 Then
pnlApproval.Visible = True
End If
Return result
End Using
End Function
btnSubmit():
Protected Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
If InsertData(lblhdddnuserid.Text, lblhddnEmployeedeptid.Text) = 1 Then
DisplayMessage("success", "Done", "Data succesfully inserted!")
SendMessage()
LoadEmployeeByuserid(Membership.GetUser.ProviderUserKey)
End If
End Sub
必须修改SQL返回标量值的Id。如果ID是一个IDENTITY
列,那么您可以在语句的末尾调用SELECT SCOPE_IDENTIY()
。或者你可以使用OUTPUT
指令,如下所示:
INSERT INTO [YourTable] ([Field1], [Field2], [Field3])
OUTPUT INSERTED.ID VALUES (@Value1, @Value2, @Value3)
调整你的InsertData
函数以返回一个对象作为结果
Public Class InsertDataResult
Public Property Success As Boolean
Public Property InsertedId As Integer
End Class