<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Default.aspx.cs
"
Inherits
=
"
_Default
"
validateRequest
=
"
false
"
%>
<!
DOCTYPE html PUBLIC
"
-//W3C//DTD XHTML 1.0 Transitional//EN
"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
"
>
<
html xmlns
=
"
http://www.w3.org/1999/xhtml
"
>
<
head runat
=
"
server
"
>
<
title
>
无标题页
</
title
>
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
//
取消其他RadioButton的选中
function OnSelect(obj)
...
{
elements = obj.form.elements;
for(var i=0;i<elements.length;i++)
...{
if(elements[i].type =="radio" && elements[i].id != obj.id)
...{
elements[i].checked = false;
}
}
}
//
返回GridView选中的RadioButton的值
function GetSelectedRadioValue(obj)
...
{
elements = obj.form.elements;
for(var i=0;i<elements.length;i++)
...{
if(elements[i].type =="radio" && elements[i].id != obj.id)
...{
if(elements[i].checked)
...{
return elements[i].value;
}
}
}
return null;
}
function Manage(obj)
...
{
var id = GetSelectedRadioValue(obj);
if(id != null)
...{
window.alert(id);
//其它处理操作略
}
else
...{
window.alert("请选择所要处理的列!");
}
}
</
script
>
</
head
>
<
body
>
<
form id
=
"
form1
"
runat
=
"
server
"
>
<
table width
=
"
760
"
>
<
tr
>
<
td
>
<
asp:GridView ID
=
"
GridView1
"
AutoGenerateColumns
=
"
False
"
runat
=
"
server
"
>
<
Columns
>
<
asp:TemplateField
>
<
HeaderTemplate
>
单选
</
HeaderTemplate
>
<
ItemTemplate
>
<
input type
=
"
radio
"
id
=
"
RadioButton
"
name
=
"
RadioButton
"
onclick
=
"
OnSelect(this)
"
value
=
'
<%# Eval("au_id")%>
'
runat
=
"
server
"
/>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:BoundField DataField
=
"
au_lname
"
HeaderText
=
"
标题
"
/>
<
asp:BoundField DataField
=
"
phone
"
HeaderText
=
"
电话
"
/>
<
asp:BoundField DataField
=
"
address
"
HeaderText
=
"
地址
"
/>
</
Columns
>
</
asp:GridView
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
input id
=
"
btClientManage
"
type
=
"
button
"
value
=
"
客户端处理操作
"
onclick
=
"
Manage(this)
"
/>
<
asp:Button ID
=
"
btServerManage
"
Text
=
"
服务器端处理操作
"
OnClick
=
"
btServerManage_Click
"
runat
=
"
server
"
/>
</
td
>
</
tr
>
</
table
>
</
form
>
</
body
>
</
html
>
protected
void
btServerManage_Click(
object
sender, EventArgs e)
...
{
foreach (GridViewRow row in this.GridView1.Rows)
...{
HtmlInputRadioButton RadioButton = (HtmlInputRadioButton)row.FindControl("RadioButton");
if (RadioButton.Checked)
...{
string id = RadioButton.Value;
//其它处理操作略
}
}
}
本文介绍了一个使用ASP.NET GridView实现单选功能的方法。通过客户端JavaScript控制单选框互斥选择,并在服务器端处理选中的项。适用于需要从GridView中选择唯一记录进行后续操作的场景。
517

被折叠的 条评论
为什么被折叠?



