2011-11-19 37 views
1

文档我有一个GridView,它看起来像 发送电子邮件+ GridView控件

    ID  Filename  Type 
----------------------------------------------------- 
Share view  1  Tiger   .doc 
share view  2  Lion   .xls 
share view  3  dog    .ppt 

当我点击视图,文档将被打开,我们可以对其进行编辑。我想分享链接执行一些特定的功能。如果我点击共享,它应该要求输入电子邮件,并将相应的文档发送到写入的电子邮件。防爆。如果我点击文档是老虎的共享,那么该文档应该发送到写入的电子邮件。

+0

什么是你的问题?你有什么尝试? – Oded

+0

我的问题是,当我点击第一行的共享时,它应该要求我写邮件,一旦我写它,老虎文件应通过电子邮件发送到写的地址。我怎样才能做到这一点? – user662417

+0

好的,但你的问题到底是什么?我如何区分哪个行被选中?或者我如何发送电子邮件?什么是具体问题? – dasheddot

回答

1

我找到了解决方案。这里使用了一段代码。

在GridView中,对于份额超链接我用:

<asp:TemplateField> 
         <ItemTemplate> 
          <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"FileName","Share.aspx?FileName={0}") %>' 
            Text="Share"></asp:HyperLink> 
         </ItemTemplate> 
         </asp:TemplateField> 

在share.aspx页

string datalink; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     this.TextBox2.Text = Request.QueryString[0]; 
     datalink = this.TextBox2.Text; 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      // Create the mail message 
      string strFrom = "[email protected]"; 
      string strTo = TextBox1.Text; 
      string strCC = TextBox3.Text; 
      string strSubject = "Document shared"; 
      string strMsg = " The document has been shared with you. Please check the attachment."; 
      string myPath = @"C:\Visual Studio 2008\Data\"; 
      MailMessage objMailMsg = new MailMessage(strFrom, strTo); 

      objMailMsg.BodyEncoding = Encoding.UTF8; 
      objMailMsg.Subject = strSubject; 
      objMailMsg.Body = strMsg; 
      objMailMsg.CC.Add(strCC); 
      Attachment at = new Attachment(myPath + datalink); 
      objMailMsg.Attachments.Add(at); 
      objMailMsg.Priority = MailPriority.High; 
      objMailMsg.IsBodyHtml = true; 

      SmtpClient smtp = new SmtpClient(); 
      smtp.EnableSsl = true; 
      smtp.Send(objMailMsg); 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 

    }