我有一个像下面的网格。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" s
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:ButtonField DataTextField="Name" HeaderText="Name" />
<asp:BoundField DataField="ArrDate" DataFormatString="{0:MM/dd/yyyy}"
HeaderText="Arr Date" />
<asp:BoundField HeaderText="Dep Date" DataField="DepDate"
DataFormatString="{0:MM/dd/yyyy}" />
<asp:BoundField HeaderText="Mail" DataField="Mail" />
<asp:BoundField HeaderText="Status" DataField="Status" />
<asp:BoundField DataField="ResId" HeaderText="ResId" Visible="False" />
</Columns>
</asp:GridView>
代码背后: -
try
{
string text = GridView1.Rows[2].Cells[5].Text;
ScriptManager.RegisterStartupScript(this, GetType(), "Message", "alert('ResId = " + text + ".');", true);
}
catch { }
现在消息显示 - RegId =。
我无法获得价值。所以我将RedId BoundField更改为可变。现在我得到了价值。
这是RegId = 6。
我现在有两个问题 -
1)如何在不可见列中获取RegId值。 2)我如何找到我点击的Row值... bzs我唯一能改变代码中的ROWVALUE ...
string text = GridView1.Rows[ROWVALUE].Cells[5].Text;
这当然不是正确的做法。您可能希望使用DataKeys来实现此目的。使用当前方法,当您向网格添加新列时,代码将失败。