asp GridViewにラベルがあり、それにバインドデータを設定したいと思います。
これが私のRowDataBoundメソッドです。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
var name = (Label)e.Row.FindControl("Label_name");
name.Text ="sara";
name.DataBind();
}
これが私のGridViewです:
<asp:GridView ID="GridViewCertificateType" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" >
<asp:Label ID="Label_name" runat="server" Text="" ></asp:Label>
しかし、その後name.Text ="sara";
、私はこの例外を受け取ります:
Object reference not set to an instance of an object.
RowDataBoundメソッドで、行のタイプを確認するための条件があることを確認してください。このイベントは、ヘッダー行とフッター行を含む、GridViewのすべての行に対して呼び出されます。Label_name
ヘッダー行にが見つからない場合は、nullオブジェクトがあります。それをしたらname.DataBind();
、それは必要ないので、取り除いてください。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var name = (Label)e.Row.FindControl("Label_name");
name.Text = "sara";
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加