在網絡開發中,經常遇到需要使用ASP.NET與JavaScript聯合進行控制的情況。在本篇中,将使用DataGrid進行資料綁定,使用Javascript控制當選中其中的checkbox時,該行顔色改變。
首先,在頁面中建立一個DataGrid控件,并設定其模闆。
以下是引用片段:
< asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
< Columns>
< asp:TemplateColumn>
< ItemTemplate>
< asp:CheckBox id="checkbox1" Runat ="server">< /asp:CheckBox>
< asp:Label runat="server" Text='< %# DataBinder.Eval(Container, "DataItem") %>'>< /asp:Label>
< /ItemTemplate>
< /asp:TemplateColumn>
< /Columns>
< /asp:DataGrid>
第二,在頁面中的< head>< /head>中編寫JavaScript腳本函數,進行CheckBox的判斷和顔色改變的控制。
< script>
function checkme(obj,tr){
if(obj.checked)
tr.style.backgroundColor='blue';
else
tr.style.backgroundColor='';
}
< /script>
第三,在Page_Load事件中為DataGrid綁定資料,并關聯CheckBox的JavaScript腳本。
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if(!IsPostBack)
databind();
private void databind()
ArrayList arr=new ArrayList();
arr.Add("新聞綜合");
arr.Add("綜藝");
arr.Add("電影");
arr.Add("教育");
arr.Add("戲劇");
arr.Add("軍事");
arr.Add("體育");
DataGrid1.DataSource=arr;
DataGrid1.DataBind();
int i;
for(i=0; i< DataGrid1.Items.Count; i++){
CheckBox cb;
cb=(CheckBox)DataGrid1.Items[i].FindControl("checkbox1");
DataGrid1.Items[i].Attributes.Add("id","tr" + i.ToString());
cb.Attributes.Add(" + i.ToString() + "); ");
第四,完成之後運作程式。程式運作後,會在DataGrid控件的每行前顯示一個CheckBox控件,選擇該控件,該行背景顔色變藍色,取消選擇,該行顔色恢複初始狀态。