Search code examples
vb.nethyperlinkoracle10gmailto

HTML MAILTO hyperlink doesn't respond


My hyperlink doesn't open up an email with my database text value.

I have a previous application that uses this exact format and works; however, for this application it doesn't.

One of the many examples I have referenced is: ASP.NET mailto: misfunction

my Database column name is email_Own and so I have tried to DataItem.email_Own and DataItem.email like other examples show to see if whether the value after DataItem is the database column name or not. Both don't work.

Working EX

My other application showed an email within a gridview so I am wondering if that is the reason why the coding below worked:

<asp:TemplateField HeaderText="Description" >
  <ItemTemplate >
     <br /><br />
     Email:  
     <asp:HyperLink id="lnkEmail" cssClass="emailColor" runat="server" text='<%#DataBinder.Eval(Container, "DataItem.email") %>' NavigateUrl='<%#DataBinder.Eval(Container, "DataItem.email","MAILTO:{0}")%>'>
     </asp:HyperLink>
  </ItemTemplate>
</asp:TemplateField> 

enter image description here

Coding that doesn't work:

Any suggestions for the coding below? This hyperlink is inside a table.

<tr>
 <td width="25%">
 <font class="Blackfont" size="2" > <b>Owner Email </b> </font> 
 </td>
 <td>                 
   <asp:HyperLink id="Owner_E" runat="server" text='<%#DataBinder.Eval(Container, "DataItem.email") %>' NavigateUrl='<%#DataBinder.Eval(Container, "DataItem.email","MAILTO:{0}")%>'Font-Size="10pt"></asp:HyperLink>

</td>
</tr>

enter image description here

The text of the hyperlink shows up correctly when the page loads. Its the linking to mail that isn't working.

I also tried this code snippet instead but the hyperlink doesn't respond as well: NavigateUrl='<%#Bind("email_Own", "mailto:{0}") %>' Text='<%#Bind("email_Own") %>'

FYI:

I am not sure if this changes anything but I fill the hyperlink in VB.net like so:

If Not DsAds.Tables(0).Rows(0).Item(14) Is DBNull.Value Then
    lnkEmail.Text = DsAds.Tables(0).Rows(0).Item(14)
End If

where DsAds is a dataset

The HTML source code shows this:


Solution

  • I referenced http://forums.asp.net/t/1071308.aspx?mailto+link+in+textbox

    Like so:

    <asp:HyperLink id="lnkEmail" runat="server" Font-Size="10pt" ></asp:HyperLink>
    

    and in Page Load[at end of it] I add:

    lnkEmail.NavigateUrl = "mailto:" + DsAds.Tables(0).Rows(0).Item(14)
    lnkEmail.Text = DsAds.Tables(0).Rows(0).Item(14)