ASP.Net Mailto ссылка не работает

Я пытаюсь открыть mailto, который будет использовать адрес электронной почты из поля привязки данных и добавить пользовательскую строку темы и собственное тело.

Появляется мое почтовое окно и заполняется адрес электронной почты, относящийся к полю данных, однако тема и текст остаются пустыми.

<asp:BoundField DataField="EmailAddress" HeaderText="Refer Patient" 
   SortExpression="EmailAddress" 
   DataFormatString="<a href=mailto:{0}&gt;{0}&lt;?subject=Email%20Subject&body=Email%20Body%20Text >  </a>" 
   HtmlEncode="false" 
   HtmlEncodeFormatString="false"  /> 

Любые предложения о том, где я иду не так?

2 ответа

Решение

Вы можете переключиться на TemplateField, тогда у вас гораздо больше контроля над сгенерированным HTML.

<asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <a href="mailto:<%# Eval("EmailAddress") %>?subject=Email%20Subject&body=Email%20Body%20Text">Email Me</a>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

У вас неверный HTML, значение атрибута HTML href не заключено в кавычки, попробуйте это:

<asp:BoundField DataField="EmailAddress" HeaderText="Refer Patient" 
   SortExpression="EmailAddress" 
   DataFormatString='<a href="mailto:{0}&gt;{0}&lt;?subject=Email%20Subject&body=Email%20Body%20Text">Email Me</a>' 
   HtmlEncode="false" 
   HtmlEncodeFormatString="false"  /> 
Другие вопросы по тегам