2009-12-27 38 views
1

我该如何做这个客户端, 如果gridview选择索引< 0; btnYes OnClientClick将返回false;asp.net Gridview检查选择索引客户端

protected void btnYes_Click(object sender, EventArgs e) 
{ 
    if (gvCourseDetails.SelectedIndex == -1) 
    { 
     ClientScriptManager scriptManager = Page.ClientScript; 
     scriptManager.RegisterClientScriptBlock(this.GetType(), "alertmessage", 
         "<script>alert('Select a course above first');</script>"); 
    } 
} 

谢谢。

回答

1

无论如何,GridView的选定索引不会更改,因此您只能在服务器端评估一次(在page_load或btnYes预渲染等)。在客户端这几乎毫无意义。

if (gvCourseDetails.SelectedIndex == -1) 
{ 
    btnYes.OnClientClick = "alert('Select a course above first'); return false;"; 
} 
else 
{ 
    btnYes.OnClientClick = ""; 
} 
+1

http://msdn.microsoft.com/en-us/library/vstudio/ms228113(v=vs.90).aspx – 2013-06-18 09:54:04

1

我想你可以声明一个公共变量和SelectedIndex的存储它,然后从客户端脚本中调用它,但你需要回发的页面:

public int selectedIndex = 0; 
protected void Page_Load(object sender, EventArgs e) 
{ 
selectedIndex = gvCourseDetails.SelectedIndex; 
} 

//这里客户端脚本

function CheckSelectedIndex() 
{ 
    if(<%= selectedIndex%> == -1) 
    { 
     // type you code 
    } 
}