powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передать данные в Outlook
19 сообщений из 19, страница 1 из 1
Передать данные в Outlook
    #38604308
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В GridView есть колонка
Код: html
1.
<asp:HyperLinkField NavigateUrl="mailto:adr@mbp.ru" DataTextFormatString="отправить" DataTextField="#" />


При клике по ссылке у клиента открывается окно сообщения Outlook с нужным адресом. Можно ли заполнить поля сообщения данными из строки GridView?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38604363
mrigrek74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey_New,

mailto:dr@mbp.ru?subject=....&body=.....
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38604379
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrigrek74,
как прописать нужные поля из GridView?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38604398
mrigrek74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey_New,

Как-то так
Код: html
1.
NavigateUrl='<%# "mailto:dr@mbp.ru?subject=" + Eval("Subject") + "&body=" + Eval("Body") %>'
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38604436
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrigrek74,
Сообщение об ошибке синтаксического анализатора: Выражения привязки данных поддерживаются только в объектах, имеющих событие DataBinding. System.Web.UI.WebControls.HyperLinkField не имеет события DataBinding.
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38604463
mrigrek74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey_New,

Значит надо использовать TemplateField вместо HyperLinkField
Код: html
1.
2.
3.
4.
5.
<asp:TemplateField >
     <ItemTemplate>
          <asp:HyperLink runat="server" NavigateUrl='<%# "mailto:dr@mbp.ru?subject=" + Eval("Subject") + "&body=" + Eval("Body") %>'>отправить</asp:HyperLink>
     </ItemTemplate>
</asp:TemplateField>
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38604478
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrigrek74,
большое спасибо!
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38605067
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла проблема переноса строки в body.
Код: html
1.
<asp:HyperLink runat="server" NavigateUrl='<%# "mailto:dr@mbp.ru?subject=" + Eval("Subject") + "&body=Сообщение:" + <br> + Eval("Body") %>'>отправить</asp:HyperLink>


Пробовал <br>, chr(13)+chr(10), vbCrLf - не переносит. Подскажите, как выполнить?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38605321
mrigrek74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey_New,

Нужен перенос строки в кодировке URL:

%0D%0A

Собственно, возможно, потребуется всё тело сообщения закодировать в URL
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38605970
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrigrek74, спасибо!
Так переносит.
Если в сообщение нужно вставить таблицу HTML, то потребуется
mrigrek74Собственно, возможно, потребуется всё тело сообщения закодировать в URL ?
Не подскажите, как?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38606298
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение с помощью VB, назначив события кнопке:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim objApp As New Microsoft.Office.Interop.Outlook.Application()
        Dim objMail As Microsoft.Office.Interop.Outlook.MailItem
        objMail = DirectCast(objApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem), Microsoft.Office.Interop.Outlook.MailItem)
        With objMail
            .[To] = "adr@mbp.ru"
            .Subject = "Тема"
            .BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML
            .HTMLBody = "<body><table width='70%' border='1'>" & _
                        "<caption align='top'>Сообщение</caption>" & _
                        "<tr bgcolor='#EAEAEA'><td width='20%' align='center'>Солбец1</td><td width='50%' align='center'>Солбец2</td></tr><tr><td></td><td></td></tr></table></body>"
            .Display()
        End With
End Sub
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38606862
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рано радовался - при опубликовании на сервере на строке 128
Код: vbnet
1.
Dim objApp As New Microsoft.Office.Interop.Outlook.Application()


возникает ошибка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
[COMException (0x80040154): Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80040154.]
   Inspection.index.btnSubmit_Click(Object sender, EventArgs e) in C:\Users\Sergey\Documents\Visual Studio 2008\Projects\Project\Project index.aspx.vb:128
   System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +108
   System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +118
   System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


На локальной машине ошибки нет.
Как побороть?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38606983
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_NewРано радовался - при опубликовании на сервере на строке 128
Код: vbnet
1.
Dim objApp As New Microsoft.Office.Interop.Outlook.Application()


возникает ошибка:

На локальной машине ошибки нет.
Как побороть?

,.. вы пытаетесь с сервера вызвать библиотеку Аутлука на машине клиента .. Так не получится ... Если уж хотите отправлять письма из веб-приложения, почитайте о SmtpClient, например ...
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38607026
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik... пытаетесь с сервера вызвать библиотеку Аутлука на машине клиента .. Так не получится ... Если уж хотите отправлять письма из веб-приложения, почитайте о SmtpClient, например ...
Странно, ссылка открывает Outlook на машине клиента
Код: html
1.
2.
3.
4.
5.
<asp:TemplateField >
     <ItemTemplate>
          <asp:HyperLink runat="server" NavigateUrl='<%# "mailto:dr@mbp.ru?subject=" + Eval("Subject") + "&body=" + Eval("Body") %>'>отправить</asp:HyperLink>
     </ItemTemplate>
</asp:TemplateField>
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38607042
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_Newcarrotik... пытаетесь с сервера вызвать библиотеку Аутлука на машине клиента .. Так не получится ... Если уж хотите отправлять письма из веб-приложения, почитайте о SmtpClient, например ...
Странно, ссылка открывает Outlook на машине клиента
Код: html
1.
2.
3.
4.
5.
<asp:TemplateField >
     <ItemTemplate>
          <asp:HyperLink runat="server" NavigateUrl='<%# "mailto:dr@mbp.ru?subject=" + Eval("Subject") + "&body=" + Eval("Body") %>'>отправить</asp:HyperLink>
     </ItemTemplate>
</asp:TemplateField>



...этот серверный код генерирует обычную HTML-ссылку в браузере клиента, которая и вызывает почтовую программу по умолчанию ... браузеру позволительно это делать ...
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38607045
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М.б. можно задать NavigateUrl в VB коде по событию клтка по HyperLink или Image?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38607057
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или как и вызвать кодом VB почтовую программу по умолчанию?
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38607138
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_NewИли как и вызвать кодом VB почтовую программу по умолчанию?

... еще раз повторю ... код на сервере (VB, c#, php) просто генерирует HTML-страницу (в варианте Web-Forms) c разметкой, джава-скриптами и стилями/CSS ... Это все, что там есть, и это исполняется и отображается браузером ... У браузера есть ограничения на то, что можно исполнять на клиентской машине джава-скриптом ... Никакой VB-код на клиенте не выполняется ...
...
Рейтинг: 0 / 0
Передать данные в Outlook
    #38607275
Sergey_New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik, понятно.
Код на сервере (VB, c#, php) просто генерирует HTML.
И элемент этой страницы, например, преобразованный сервером из <asp:Image...> имеет свои события. Я полагал, что эти события прописаны в коде.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передать данные в Outlook
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]