<asp:templatefield visible="false">
<itemtemplate>
<asp:literal id="litusername" runat="server" text='<%#eval("username")%>'/>
</itemtemplate>
</asp:templatefield>
//后臺實現
string username = ((literal)gridview1.selectedrow.findcontrol("litusername")).text;
gridview的autogenerateselectbutton屬性可以直接使表格實現選擇, 如果不想多增加一列選擇列, 我們可以利用templatefield實現gridview的選擇.
asp.net代碼如下:
<asp:boundfield datafield="objectid" headertext="id"/>
<asp:templatefield>
<headertemplate>
name
</headertemplate>
<itemtemplate>
<asp:linkbutton id="lbname" runat="server" commandname="select">
<%#eval("name")%>
</asp:linkbutton>
</itemtemplate>
</asp:templatefield>
<asp:boundfield datafield="status" headertext="status"/>
同時要給gridview增加兩個事件處理rowcreated, rowcommand
//rowcreated事件處理
void gridview1_rowcreated(object sender, gridviewroweventargs e)
{
if (e.row.rowtype == datacontrolrowtype.datarow)
{ ((linkbutton)e.row.findcontrol("lbname")).commandargument = e.row.rowindex.tostring();
}
}
//rowcommand事件處理
void gridview1_rowcommand(object source, system.web.ui.webcontrols.gridviewcommandeventargs e)
{
gridview1.selectedindex = int.parse(e.commandargument.tostring());
}
這樣在點擊名稱時就可以同時進行選擇,不必再利用選擇列.
新聞熱點
疑難解答