Попробуйте этот синтаксис для вашего routerLink:
[routerLink]="['/' + navRoute.path + '/' + childs.path]"
Попробуйте:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "mailto:someone@somewhere.com?subject=hello&body=love my body";
proc.Start();
Вот что я попробовал:
Process.Start("mailto:demo@example.invalid?subject=" +
HttpUtility.HtmlAttributeEncode("Application error report") +
"&body=" + HttpUtility.HtmlAttributeEncode(memoEdit1.Text));
Но если основной текст слишком велик, я получаю исключение:
Win32Exception "Область данных, передаваемая системному вызову, слишком мала" [
Process.Start("mailto:demo@example.invalid?subject=" +
HttpUtility.HtmlAttributeEncode("Application error report") +
"&body=" + HttpUtility.HtmlAttributeEncode(memoEdit1.Text));
1298] Так что вопрос все еще открыт, так как мне нужно обработать длинный основной текст. Я не знаю предела размера этой ошибки.
Правильный способ сделать это - использовать MAPI, но использовать код взаимодействия с MAPI dll. на самом деле не поддерживаемый и не рекомендуемый способ сделать это . Я сделал это, и до тех пор, пока вы очень внимательно относитесь к своему коду взаимодействия и не делаете ничего большего, чем открываете почтовый клиент для отправки электронного письма, вы должны быть в порядке.
Есть несколько проблем с использованием подхода «mailto», наименьшая из которых заключается в том, что вы не можете прикреплять файлы.
Если вы работаете только в среде MS Windows, вы можете использовать MAPI32.DLL. Управляемую оболочку можно найти здесь:
http://www.codeproject.com/KB/IP/SendFileToNET.aspx
Код выглядит следующим образом:
MAPI mapi = new MAPI();
mapi.AddAttachment("c:\\temp\\file1.txt");
mapi.AddAttachment("c:\\temp\\file2.txt");
mapi.AddRecipientTo("person1@somewhere.com");
mapi.AddRecipientTo("person2@somewhere.com");
mapi.SendMailPopup("testing", "body text");
// Or if you want try and do a direct send without displaying the mail dialog
// mapi.SendMailDirect("testing", "body text");