2013-01-04 16 views
1

我是創建ASP.Net頁面的新手。我有一個基本的asp.net頁面,有一個GridView對象,並且我寫了一個RowDataBound事件來根據條件更改行顏色。我需要一些關於如何將我的功能/事件鏈接到對象GridView的幫助。函數/事件應該放在客戶端還是服務器端?如何將我的Gridview功能鏈接到GridView對象

ps。即時通訊使用Visual Studio 2010,如果有一種方法可以使用工具欄選項將功能添加到對象中,這將非常棒。

回答

0

RowDataBound事件在服務器端處理。您可以在「代碼隱藏」文件中包含事件代碼/邏輯,也可以在HTML文件中添加內聯腳本。

<%@ Page Language="C#" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<script runat="server"> 
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     // logic here 
    } 
</script> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title>GridView RowDataBound Event</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <h2 style="color:Navy">GridView OnRowDataBound</h2> 
     <asp:SqlDataSource 
      ID="SqlDataSource1" 
      runat="server" 
      ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
      SelectCommand="SELECT ProductID, ProductName, UnitPrice FROM Products" 
      > 
     </asp:SqlDataSource> 
     <asp:GridView 
      ID="GridView1" 
      runat="server" 
      DataSourceID="SqlDataSource1" 
      ForeColor="AliceBlue" 
      BackColor="DarkSalmon" 
      BorderColor="Salmon" 
      HeaderStyle-BackColor="Crimson" 
      AllowPaging="true" 
      AutoGenerateColumns="true" 
      DataKeyNames="ProductID" 
      OnRowDataBound="GridView1_RowDataBound" 
      > 
     </asp:GridView>   
    </div> 
    </form> 
</body> 

重要的是要注意OnRowDataBound屬性必須和偶數方法具有相同的名稱。例如OnRowDataBound="GridView1_RowDataBound"與事件處理程序簽名GridView1_RowDataBound(object sender, GridViewRowEventArgs e)具有相同的名稱。

欲瞭解更多信息,請參閱here

+0

非常感謝,這有助於。另外我喜歡在服務器端提及我在其他所有C#文件所在目錄上有一個名爲「App_Code」的文件夾。我是否也可以創建一個新的C#文件,放置我的行事件/函數並將我的GridView關聯到default.aspx中? – charlie

+0

是的,我相信你可以做到這一點。您需要更新.aspx文件中的src路徑<%@ Page .. src =「CodeBehind.cs」%> –