2014-09-29 3 views
0

나는 gridview이며 열 이름은 "선택"입니다. 나는 관리자가 Not Selected 옵션을 선택할 때마다 해당 사용자는 그가 거부당한 그의 ID로 전자 메일을 받아야합니다. 당신의 참고를위한 gridview 코드를 참조하십시오드롭 다운의 Onselect는 각 사용자에게 메일을 보냅니다.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowPaging="true" Width="920" 
PageSize="5" OnPageIndexChanging="gv_Applicants_PageIndexChanging" OnRowCommand="gv_Applicants_RowCommand" 
EmptyDataText="No Applicants Found." 
AllowSorting="true" 
OnSorting="gv_Applicants_Sorting" 
OnRowDataBound="gv_Applicants_RowDataBound" RowStyle-CssClass="a12" AlternatingRowStyle-CssClass="a22" ForeColor="#333333" GridLines="None" CssClass="table_box" HeaderStyle-Height="35px"> 
<AlternatingRowStyle BackColor="#F0F0F0" /> 
<Columns> 
    <asp:BoundField DataField="FirstName" HeaderText="First Name" HeaderStyle-Width="84" /> 
    <asp:BoundField DataField="LastName" HeaderText="Last Name" HeaderStyle-Width="106" /> 
    <asp:BoundField DataField="ContactNumber" HeaderText="Contact" HeaderStyle-Width="98" /> 
    <asp:BoundField DataField="Email" HeaderText="Email" HeaderStyle-Width="150" /> 

    <asp:TemplateField HeaderText="Position" SortExpression="Position" HeaderStyle-Width="107"> 
     <ItemTemplate> 
      <%# Eval("Job.Position") %> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Location" SortExpression="Location" HeaderStyle-Width="100"> 
     <ItemTemplate> 
      <%# Eval("Job.Location") %> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:BoundField DataField="AppliedDate" DataFormatString="{0:MMMM dd, yyyy}" HeaderText="Date of Application" ReadOnly="true" HeaderStyle-Width="121" /> 

    <asp:TemplateField HeaderText="Action" HeaderStyle-HorizontalAlign="Center"> 
     <ItemTemplate> 
      <asp:LinkButton ID='lnkView' CommandName='v' Text='View' runat='server' CommandArgument='<%# Eval("ApplicantId") %>'></asp:LinkButton> 
      | 
         <asp:LinkButton ID='lnkdel' CommandName='d' Text='Delete' runat='server' CommandArgument='<%# Eval("ApplicantId") %>' OnClientClick="return confirm('Are you sure to delete?');"></asp:LinkButton> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Selection"> 
     <ItemTemplate> 
      <asp:Label ID="lblCountry" runat="server" Visible="true" /> 
      <asp:DropDownList ID="ddlCountries" runat="server"> 
       <asp:ListItem Text="None" Value="1"></asp:ListItem> 
       <asp:ListItem Text="Selected" Value="2"></asp:ListItem> 
       <asp:ListItem Text="Not Selected" Value="3"></asp:ListItem> 
      </asp:DropDownList> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 


<EditRowStyle BackColor="#2461BF" /> 
<FooterStyle BackColor="#D8DADA" Font-Bold="True" /> 
<HeaderStyle BackColor="#D8DADA" Font-Bold="True" /> 
<PagerStyle BackColor="#D8DADA" HorizontalAlign="Center" /> 
<RowStyle BackColor="white" BorderStyle="Solid" BorderColor="#a8a8a8" BorderWidth="1px" Height="35" /> 
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 

Eidted 코드 : -

private void SendMail() 
{ 
    StringBuilder sbuilder = new StringBuilder(); 
    sbuilder.Append("<div>"); 
    sbuilder.Append("<p>Thanks for applying at RBL. You have been rejected</p>"); 
    sbuilder.Append("</div>"); 

    string str = sbuilder.ToString(); 
    string ccEmail = ""; 
    Common objCom = new Common(); 
    string toId = ConfigurationManager.AppSettings["ddlEmail"].ToString(); 
    objCom.SendEMail(toId, "Rejection Mail", sbuilder.ToString(), ccEmail, false, ""); 
} 


protected void ddlSelection_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DropDownList ddl = (DropDownList)sender; 
    GridViewRow row = (GridViewRow)ddl.Parent.Parent; 


    if (ddl.SelectedValue == "Not Selected") 
    { 
     SendMail(); 
    } 
} 
+0

@MairajAhmad을 : 여기에서했지만,에 드롭 다운이 작동하지 않는다면 선택하십시오. http://stackoverflow.com/questions/12240966/i-need-to-create-a-button-that-sends-form-information-to -email-on-button-click-e. 필자는 onSelect 코드 만 수행하면됩니다. 메일 보내기는 일반적으로 할 수 있습니다. – BNN

+0

내 코드를보십시오. 하지만 우편물은 안가. – BNN

+0

그러면 어떤 오류 예외가 발생하거나 아무 것도 일어나지 않을 것입니까? – Mairaj

답변

0

이 시도,

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 

    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     DropDownList ddl = e.Row.FindControl("ddlCountries") as DropDownList; 
    if(ddl != null) 
    { 
     ddl.SelectedIndexChanged += new EventHandler(ddlCountries_SelectedIndexChanged); 
    } 
    } 

} 

protected void ddlCountries_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string selectedValue = ((DropDownList)sender).SelectedValue; 
    if(selectedValue== "Not Selected") 
    { 
     // Write code here for sending mail 
    } 

} 
+0

코드에서 boundfield를 어떻게 호출 할 수 있습니까? 다음을 참조하십시오. - BNN

+1

전자 메일 = GridView1.SelectedRow.Cells [ "Email"]. 또는 email = e.row.cells [ "Email"]. 텍스트; . 나는 시험하지 않았다. – Banana

+0

예, 시도해 봤는데 .. 고마워요! 매력처럼 일하는 :) – BNN

관련 문제