2012-09-03 28 views
3

我是新來的C#事件,以便道歉,如果我問這個問題的方法是不正確的。怎麼寫onrowcommand

我已經添加在網格視圖按鈕現在我想執行鍼對C#按鈕編碼一些特定的動作..但我無法點擊按鈕,這就是爲什麼我不能寫對按鈕事件的代碼。

請告訴我怎麼寫針對網格按鈕事件代碼???

這裏是我的編碼:

<asp:TemplateField> 
        <ItemTemplate> 
         <asp:Button ID="btnDecline" runat="server" Text="Decline" onrowcommand="decline" /> 
        </ItemTemplate> 
       </asp:TemplateField> 

這裏是C#代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Sherserve.BusinessLogicLayer; 
using Sherserve.CustomTypeLayer; 

namespace SherserveLeaveManagementSystem 
{ 
    public partial class LMSAdminPanel : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!this.IsPostBack) 
      { 
       LMSManager leavestatus = new LMSManager(); 
       int emplid = Convert.ToInt32(Session["EmployeeID"]); 
       List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid); 
       GridView1.DataSource = leaverecord; 
       GridView1.DataBind(); 







      } 
     } 

     protected void GridView1_PageIndexchanging(object sender, GridViewPageEventArgs e) 
     { 

      LMSManager leavestatus = new LMSManager(); 
      int emplid = Convert.ToInt32(Session["EmployeeID"]); 
      List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid); 
      GridView1.DataSource = leaverecord; 
      GridView1.PageIndex = e.NewPageIndex; 
      GridView1.DataBind(); 
     } 

     protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
     { 

     } 


    } 
} 

我在C#中新的,請不要介意我問這個問題的方法是長或不正確的。

感謝

回答

1

使用CommandName屬性是這樣的(選擇,刪除在這種情況下):

<asp:GridView ID="EntityGridView" runat="server" DataKeyNames="Id" DataSourceID="EntityListDataSource" 
    AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" SkinID="GridViewSmall" 
    OnRowCommand="EntityGridView_RowCommand" 
    OnPageIndexChanged="EntityGridView_PageIndexChanged" 
    OnSorting="EntityGridView_Sorting"> 
    <Columns> 
     <asp:TemplateField ItemStyle-CssClass="TemplateFieldTwoColumns"> 
      <ItemTemplate> 
       <asp:ImageButton ID="btnView" runat="server" ToolTip="<% $resources:AppResource,Edit %>" SkinID="EditPage" CommandName="Select" CommandArgument='<%# Eval("Id") %>' /> 
       <asp:ImageButton ID="btnDelete" runat="server" ToolTip="<% $resources:AppResource,Delete %>" SkinID="DeletePage" OnClientClick="<%# GetDeleteConfirmation() %>" CommandName="Delete" CommandArgument='<%# Eval("Id") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="Title" HeaderText="<% $resources:AppResource,Title %>" SortExpression="Title" /> 
    </Columns> 
</asp:GridView> 

,這裏是你如何連接到事件:

protected void EntityGridView_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "Select") 
     { 
      //do something on select...     
     } 
    } 
+0

好一個!如果你想傳遞參數'CommandName =「Delete」CommandArgument ='<%#Eval(「Id」)%>' – kbvishnu