2012-02-12 22 views
1

私は、私の部門の各部門の各従業員の訓練記録を示すWebベースのトレーニングマトリックスを開発しました。マトリックスには、従業員の名前、ユーザー名、役職などの多くの列が表示されます。私が今したいのは、各従業員のユーザー名をクリック可能にすることです。つまり、管理者がクリックすると、彼の電子メールで管理者は彼にメッセージを送ることができます。私の会社では、各従業員の電子メールは主に[email protected]のように、どのように行うのですか?GridViewのユーザー名列をOutlookで開く方法を教えてください。

ところで、従業員のユーザー名はストアドプロシージャを使用してデータベースから取得されます。ユーザー列は、GridViewの4番目の列です。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 

     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      ///Add mailto to the Username column 
     e.Row.Cells[3].Text = "<a href='mailto:'" + e.Row.Cells[3].Text + "@aramco.com?Subject=About%20Your%20Safety%20Training%20Record" +" />" + e.Row.Cells[3].Text + "</a>"; 
      } 
    } 

私は、各従業員のユーザ名がクリック可能であることを聞かせすることができる可能性がありますが、私は、Outlookで彼の電子メールを置くことはできませんでした、それが開かれているもの:私がやったこと

は以下のとおりです。 、どうすればいいですか?

+0

ここでリンクをクリックするとどうなるのですか。 – patmortech

答えて

0

ハイパーリンクは以下のように作成できます。

<asp:GridView ID="grd" runat="server" AutoGenerateColumns="false" 
      OnRowDataBound="grd_RowDataBound"> 
      <Columns> 
       <asp:TemplateField> 
        <ItemTemplate> 
         <asp:HyperLink ID="btn1" runat="server" Text="click Me" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 



protected void grd_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     HyperLink btn1 = (HyperLink)e.Row.FindControl("btn1"); 
     btn1.NavigateUrl = "mailto:[email protected]"; 
    } 
} 

または、下記のように。

<asp:GridView ID="grd" runat="server" AutoGenerateColumns="false" 
    OnRowDataBound="grd_RowDataBound"> 
    <Columns> 
     <asp:TemplateField> 
       <ItemTemplate> 
        <asp:HyperLink ID="HyperLink1" runat="server" 
     NavigateUrl='<%# Eval("EMail", "mailto:{0}") %>' Text="Hi"></asp:HyperLink> 
       </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 
関連する問題