首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急GrieView行单击事件,该怎么解决

2012-01-21 
急急急急急急急急急急急急急GrieView行单击事件思路就是点击时通过__doPostBack执行服务器事件。前台代码a

急急急急急急急急急急急急急GrieView行单击事件
思路就是点击时通过__doPostBack执行服务器事件。

前台代码
<asp:TemplateField> <ItemTemplate>
                                                                <asp:Button  
                                                                ID= "btnShowDetail "  
                                                                runat= "server "
                                                                Text= ' <%#   Eval( "fName ")   %> '  
                                                                CssClass= "btnNoBorder "  
                                                                OnClick= "btnShowDetail_Click ">
                                                                </asp:Button>  
</ItemTemplate> </asp:TemplateField>

后台
protected   void   gvFriendList_RowDataBound(object   sender,   GridViewRowEventArgs   e)
        {   if   (gvr.RowType   ==   DataControlRowType.DataRow)
                {
Button   btn   =   (Button)gvr.FindControl( "btnShowDetail ");
                       
                        gvr.Attributes.Add( "onclick ", "__doPostBack( ' "   +   btn.ClientID   +   " ', ' '); ");
                }
}
}

这是FF中查看生成的代码
<tr   onclick= "__doPostBack( 'gvFriendList_ctl03_btnShowDetail ', ' '); ">
<td>
                                                                <input   id= "gvFriendList_ctl03_ckBox "   type= "checkbox "   name= "gvFriendList$ctl03$ckBox "   />
                                                        </td> <td>

                                                                <input   type= "submit "   name= "gvFriendList$ctl03$btnShowDetail "   value= "朋友 "   id= "gvFriendList_ctl03_btnShowDetail "   class= "btnNoBorder "   />


                                                        </td>
</tr>


为什么点击没效果呢


[解决办法]
up
[解决办法]
在gridview中不要使用按钮的单击事件,而使用gridview的RowCommand事件(需要设置按钮的CommandName属性)
<asp:TemplateField> <ItemTemplate>
<asp:Button
ID= "btnShowDetail "
runat= "server "
Text= ' <%# Eval( "fName ") %> '
CssClass= "btnNoBorder "
CommandName= "save ">
</asp:Button>
</ItemTemplate> </asp:TemplateField>

然后在gridview的RowCommand这样去判断是哪个按钮点击的
if(e.CommondName == "save ")
[解决办法]
以前我做的关于__doPostBack()的例子,你看有用你就改改:
HTML:
<Script language=javascript>
function linksort(cid)
{
//店面编号
if(cid== "linkbtn ")
{
__doPostBack( "LinkButton1 ", "LinkButton1_Click ");
}
}
</script>

<html>
...
<asp:BoundColumn DataField= "LinkCount " HeaderText= "...onClick= 'linksort(this.id) ' ">
</html>

------------------------------
后台C#在private void LinkButton1_Click(object sender, System.EventArgs e){}
事件里你想怎么写就怎么写吧。。。

热点排行