我的超链接没有打开包含我的数据库文本值的电子邮件。
我有一个以前的应用程序使用这种确切的格式并且有效;但是,对于这个应用程序,它没有。
我引用的众多示例之一是:ASP.NET mailto: misfunction
我的数据库列名是email_Own
,所以我尝试DataItem.email_Own
和DataItem.email
像其他示例一样显示DataItem之后的值是否是数据库列名。 两个都不能工作。
工作EX
我的其他应用程序在gridview中显示了一封电子邮件,所以我想知道这是否是下面编码的原因:
<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>
不起作用的编码:
以下编码的任何建议?此超链接位于表格内。
<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>
加载页面时,超链接的文本会正确显示。它链接到不起作用的邮件。
我也尝试过这段代码,但超链接也没有响应:NavigateUrl='<%#Bind("email_Own", "mailto:{0}") %>' Text='<%#Bind("email_Own") %>'
供参考:
我不确定这是否会改变,但我填写了VB.net中的超链接,如下所示:
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
HTML源代码显示:
答案 0 :(得分:0)
我引用了http://forums.asp.net/t/1071308.aspx?mailto+link+in+textbox
像这样:
<asp:HyperLink id="lnkEmail" runat="server" Font-Size="10pt" ></asp:HyperLink>
并在页面加载[在它的末尾]我添加:
lnkEmail.NavigateUrl = "mailto:" + DsAds.Tables(0).Rows(0).Item(14)
lnkEmail.Text = DsAds.Tables(0).Rows(0).Item(14)