为什么hyperlinkfield获取不到数据?(asp.net)
Why can't hyperlinkfield get the data?(asp.net)
正在开发:asp.net Web 表单 (4.5)
<Columns>
<asp:DynamicField DataField="student" />
<%--<asp:HyperLinkField DataTextField="idNum" HeaderText="idNum" DataNavigateUrlFields="idNum" />--%>
<asp:BoundField DataField="idNum" HeaderText="idNum" />
</Columns>
当我使用boundfield时,我可以通过数据绑定来使用数据。
protected void soGrid2_RowDataBound(object sender, GridViewRowEventArgs e)
{
using (Action act = new Action())
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string idNum= e.Row.Cells[2].Text;
}
}
}
同上。但是如果我像注释代码一样使用 HyperLinkField,数据看起来很好,但我无法从 rowDataBound 获取数据。有人知道这是为什么吗?以及如何使其成为超链接字段?
如果我没记错的话 HyperlinkField
在该单元格中放置了 HyperLink
control:
protected void soGrid2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var idNumLink = (HyperLink) e.Row.Cells[2].Controls[0];
string idNum= idNumLink.Text;
}
}
请注意,我使用 e.Row.Cells[2]
因为您已经使用过它。但在您的示例中它是第二列,因此您必须使用 e.Row.Cells[1]
.
正在开发:asp.net Web 表单 (4.5)
<Columns>
<asp:DynamicField DataField="student" />
<%--<asp:HyperLinkField DataTextField="idNum" HeaderText="idNum" DataNavigateUrlFields="idNum" />--%>
<asp:BoundField DataField="idNum" HeaderText="idNum" />
</Columns>
当我使用boundfield时,我可以通过数据绑定来使用数据。
protected void soGrid2_RowDataBound(object sender, GridViewRowEventArgs e)
{
using (Action act = new Action())
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string idNum= e.Row.Cells[2].Text;
}
}
}
同上。但是如果我像注释代码一样使用 HyperLinkField,数据看起来很好,但我无法从 rowDataBound 获取数据。有人知道这是为什么吗?以及如何使其成为超链接字段?
如果我没记错的话 HyperlinkField
在该单元格中放置了 HyperLink
control:
protected void soGrid2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var idNumLink = (HyperLink) e.Row.Cells[2].Controls[0];
string idNum= idNumLink.Text;
}
}
请注意,我使用 e.Row.Cells[2]
因为您已经使用过它。但在您的示例中它是第二列,因此您必须使用 e.Row.Cells[1]
.