я следующая моделиMAILTO кодирование ссылки в MVC Razor
public class EmailLinkModel
{
public string mailbody { get; set; }
public string emailSubject { get; set; }
public string emailto { get; set; }
}
mailbody содержит фактический текст, который является частью тела письма. Этот текст содержит длинный текст [содержит специальные символы типа? < и т. Д. И может содержать пробелы строк и т. Д.] Я хочу создать тэг mailto html в частичном представлении, и я попробовал 3 разных подхода, и в какой-то момент моя ссылка mailto не открывала почтовый клиент по умолчанию Я думаю, что причиной тому был Html или Url ecnoding [Я показываю содержание mailbody в текстовой области, а также здесь, чтобы убедиться, что значение подходит правильно] Вот мой взгляд
@model RoyaltyDb.Models.EmailLinkModel
@{
Layout = null;
}
<div class="row ">
@{
var formatted_doc_data = Model.mailbody;
/*
var formatted_doc_data =HttpUtility.HtmlEncode(Model.mailbody);
*/
/* var formatted_doc_data = Model.mailbody.ToString().Trim().Replace("\n", "%0D%0A");
formatted_doc_data = formatted_doc_data.ToString().Trim().Replace(" ", "%20");
formatted_doc_data = formatted_doc_data.ToString().Trim().Replace(" ", "%20");
formatted_doc_data = formatted_doc_data.ToString().Trim().Replace("%", "%25");
formatted_doc_data = formatted_doc_data.ToString().Trim().Replace("?", "%3F");
formatted_doc_data = formatted_doc_data.ToString().Trim().Replace("/", "%2F");
formatted_doc_data = formatted_doc_data.ToString().Trim().Replace(":", "%3A");*/
}
<a class="btn btn-primary center" href="mailto:@[email protected]&[email protected]_doc_data" target="_top">Send Mail</a>
</div>
<hr/>
<div class="row">
@Html.TextAreaFor(m => m.mailbody, new { style = "width: 100%; height:200px;margin:5px 5px;" })
</div>
Как я могу сделать правильную кодировку для создания MailTo Link
Вы имеете в виду кодировку? – Amit
да кодирование не шифрование –
'@' должно правильно кодировать ваши строки, можете ли вы показать вывод, который вы получаете? – Amit