Asp.net 如何使用gridview中的radiobutton在单击按钮时获取选定行的值
我需要获取gridview中选定的radiobutton行的值。选定的值将指定给文本框。我的代码是Asp.net 如何使用gridview中的radiobutton在单击按钮时获取选定行的值,asp.net,gridview,radio-button,Asp.net,Gridview,Radio Button,我需要获取gridview中选定的radiobutton行的值。选定的值将指定给文本框。我的代码是 protected void lnBTNDone_Click(object sender, EventArgs e) { GridViewRow gvRow = grdEventDetails.SelectedRow; txtEventId.Text = gvRow.Cells[0].Text; }
protected void lnBTNDone_Click(object sender, EventArgs e)
{
GridViewRow gvRow = grdEventDetails.SelectedRow;
txtEventId.Text = gvRow.Cells[0].Text;
}
问题是gvRow值被指定为null
链接按钮不在gridview内。gridview n link按钮和文本框位于用户控件内。您始终可以通过发件人的: 假设
LinkButton
位于所选行中
顺便说一句,我还不确定为什么SelectedRow
在那里是空的,可能是因为GridView的SelectedIndexChanged
事件是在LinkButton的click事件之后触发的。受保护的void lnBTNDone\u click(对象发送方,事件参数e)
protected void lnBTNDone_Click(object sender, EventArgs e)
{
for (int i = 0; i < grdEventDetails.Rows.Count; i++)
{
RadioButton rb = (grdEventDetails.Rows[i].FindControl("grdRdo")) as RadioButton;
if (rb.Checked == true)
{
txtEventId.Text = grdEventDetails.Rows[i].Cells[1].Text;
}
}
}
{
对于(int i=0;i
获取此错误无法将类型为“ASP.usercontrols\u usc\u eventidparameter\u ascx”的对象强制转换为类型为“System.Web.UI.WebControls.GridViewRow”。@kk1076:那么我的假设不正确。我以为链接按钮在GridView中。然后您应该告诉我们链接按钮的位置以及如何在gridview中选择行。链接按钮不在gridview中。但是gridview、textbox和链接按钮都放在用户控件页面中。如果(!IsPostBack)(正确的方式是什么),您如何选择gridview的行以及是否仅对gridview进行数据绑定
protected void lnBTNDone_Click(object sender, EventArgs e)
{
for (int i = 0; i < grdEventDetails.Rows.Count; i++)
{
RadioButton rb = (grdEventDetails.Rows[i].FindControl("grdRdo")) as RadioButton;
if (rb.Checked == true)
{
txtEventId.Text = grdEventDetails.Rows[i].Cells[1].Text;
}
}
}