الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرسال إيميل من gride view

بدأه bodee2010 في 21 يوليو 2010 · 3 رد · 523 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أود أرسال إيميل من grid view تحتوى على صور

أىكيف يمكننى أسترجاع قيمة صورة معينة فى ال GRIDE VIEW لأرساله فى ألأيميل

حيث يعتمد ال GRIDE VIEW على database

أى كيف يمكننى عند تحديد صف معين أرسال محتواه وإذا كان يحتوى علىصورة كيف يتم ذالك عليه

أنا أود أنا أعرف الصورة فقط

كيف أسترجع قيمته وأرساله عن طريق ألإيميل

ولكم جزيل الشكر

#2

السلام عليكم ورحمة الله :

انت تريد إرسال صورة معروضة فى GridView عن طريق الإيميل عند تحديد الصف الذى به هذة الصورة .

لنفرض ان هذة صفحة GridView

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="id" DataSourceID="SqlDataSource1" 
            onselectedindexchanged="GridView1_SelectedIndexChanged">
            <Columns>
                <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                    ReadOnly="True" SortExpression="id" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Path") %>' />
                    </ItemTemplate>
                    <ControlStyle Height="100px" Width="100px" />
                </asp:TemplateField>
                <asp:ButtonField CommandName="Select" Text="Email it" />
            </Columns>
        </asp:GridView>

وإليك الكود الذى سيقوم بالإرسال :

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow Srow = GridView1.SelectedRow;
        Image img = Srow.FindControl("Image1") as Image ;
        StringBuilder sb = new StringBuilder();
        StringWriter writer = new StringWriter(sb);
        HtmlTextWriter htmlwriter = new HtmlTextWriter(writer );
        img.RenderControl(htmlwriter);
        SendMail(sb.ToString());

    }
    void SendMail(string body )
    {
        MailMessage msg = new MailMessage("from", "to", "Image", body);
        msg.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient("Host");
        smtp.Send(msg);
    }

فى امان الله

1

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#3

السلام عليكم

أشكر لك يأخى أهتمامك

لكن قمت بعمل ذالك وضهر مكان الصورة ولم تظهر الصورة

#4
bodee2010 كتب:

السلام عليكم

أشكر لك يأخى أهتمامك

لكن قمت بعمل ذالك وضهر مكان الصورة ولم تظهر الصورة

السلام عليكم ورحمة الله

هذا الأمر متوقع من البداية وآسف أنى لم أنبهك لهذا الأمر , وهو ضبط المسار بشكل كامل للصورة على هذا الشكل "http://........................gif" كمثال .

والسبب فى ذلك أنه عند الذهاب إلى البريد سيحتاج إلى الإشارة إلى الصورة فى مكانها , ويمكن ان ترفقها مع المرفقات وهذا حل ثانى وأحسبه الأفضل وهو إستخدام Linked Resource . وإليك رابط لمثل هذا المثال هنـــــــــــــــــا

ولاحظ انك ستستبدل ذلك بالصورة المسترجعة من GridView . وكذلك لاحظ ماذا فعل فى المثال عند الإشارة إلى خاصية Src وهو إضافة CID وهو Content ID الخاص بالكائن المأخوذ من AlternativeView وتجده بالمثال السابق الإشارة إلية .

بالتوفيق إن شاء الله .

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

مواضيع مشابهة