2016-06-15 7 views
0

私はgridviewを持っています、gridviewの中の1つのcoloumnはドロップダウンリストで、ドロップダウンリストは選択ボタンをクリックした後に読み込まれるページを決定します。 "オブジェクト参照がオブジェクトのインスタンスに設定されていません"というエラーで終了します。ここ はchosing gridviewのドロップダウンリストから特定のページに移動します

protected void gv_dalamkota_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    GridViewRow row = gv_dalamkota.SelectedRow;   

    DropDownList ddl_jenis_kuitansi = sender as DropDownList; 

    if (ddl_jenis_kuitansi.SelectedValue == "1") 
    { 
     Response.Redirect("dalamkota_rincian_dua.aspx"); 
    } 
    else if (ddl_jenis_kuitansi.SelectedValue == "2") 
    { 
     Response.Redirect("dalamkota_rincian_satu.aspx"); 
    } 
} 

、ここでは私のドロップダウンがここsenderdropdownではありませんので、DropDownにキャストすることはできませんしながら、あなたはsender as DropDownListをキャストしている

<asp:GridView ID="gv_dalamkota" 
    CssClass="table table-bordered" 
    runat="server" 
    BorderColor="#1E6BBC" 
    BorderStyle="None" 
    BorderWidth="1px" 
    CellPadding="3" 
    ShowFooter="True" 
    AutoGenerateColumns="False" 
    AllowPaging="True" 
    OnSelectedIndexChanged="gv_dalamkota_SelectedIndexChanged" 
    OnPageIndexChanging="OnPaging" DataSourceID="ds_dalamkota"> 
    <RowStyle BackColor="#EFEFEF" /> 
    <AlternatingRowStyle BackColor="white" /> 
    <PagerStyle CssClass="gridview" /> 
    <Columns> 
     <asp:BoundField DataField="nond" HeaderText="Nomor ND" SortExpression="nond" /> 
     <asp:BoundField DataField="nost" HeaderText="Nomor Surat Tugas" SortExpression="nost" /> 
     <asp:BoundField DataField="halst" HeaderText="Hal Surat Tugas" SortExpression="halst" /> 
     <asp:TemplateField HeaderText="Jenis Kuitansi"> 
      <ItemTemplate> 
       <asp:DropDownList ID="ddl_jenis_kuitansi" runat="server"> 
        <asp:ListItem Value="1" Text="Kuitansi 1 Tahap"></asp:ListItem> 
        <asp:ListItem Value="2" Text="Kuitansi 2 Tahap"></asp:ListItem> 
       </asp:DropDownList> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:CommandField ShowSelectButton="True" ControlStyle-CssClass="btn btn-success"> 
      <ControlStyle CssClass="btn btn-success"></ControlStyle> 
     </asp:CommandField> 
    </Columns> 
</asp:GridView> 
+0

ためにGridViewの使用から直接コード の下の行をドロップダウン値を取得することはできませんが、あなたのドロップダウンにAutoPostBackを=「true」を追加します。オブジェクト参照が設定されていません。あなたがコントロールを見つけなければならないことを意味します。グリッドビュー内のドロップダウンアイテムを選択できます –

答えて

0

です(ページaspx.cs)私のコードですnullだからこそ、あなたはNull Reference Exceptionになっています。

finddropdowngrdiviewから実行してから残りの操作を実行してください。

DropDownList ddl_jenis_kuitansi = row.FindControl("ddl_jenis_kuitansi") as DropDownList; 
+0

あなたの応答に感謝します。Mairaj Ahmad、DropDownListを削除しました.ddl_jenis_kuitansi =送信者をDropDownListとして削除しました。あなたが示唆したように変更しますが、残念ながらそれはまだ仕事をしません。このエラーは、(ddl_jenis_kuitansi.SelectedValue == "1") –

+0

@AndreasSyaloomKurniawanがアップデート – Mairaj

+0

を参照していれば、この行に表示されます。 私はddl_jenis_kuitansiからjenis_kuitansiに変更します。 Merci Beaucoup。 –

0

あなたはこの

GridViewRow row = gv_dalamkota.SelectedRow;   


     System.Web.UI.WebControls.DropDownList ddl_jenis_kuitansi= row.FindControl("lblName") as System.Web.UI.WebControls.DropDownList; 

    if (ddl_jenis_kuitansi.SelectedValue == "1") 
    { 
     Response.Redirect("dalamkota_rincian_dua.aspx"); 
    } 
    else if (ddl_jenis_kuitansi.SelectedValue == "2") 
    { 
     Response.Redirect("dalamkota_rincian_satu.aspx"); 
    } 
関連する問題