我不能从chosing gridview下拉列表转到特定页面

时间:2016-06-15 07:08:29

标签: c# asp.net gridview

我有一个gridview,gridview中的一个coloumn是一个下拉列表,下拉列表将确定单击选择按钮后将加载的页面。 我以错误“对象引用未设置为对象的实例”结束。 这是我的代码(aspx.cs页面)

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");
    }
}

这是我的下拉列表

 <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>

2 个答案:

答案 0 :(得分:0)

您正在sender as DropDownList投放senderdropdown不是DropDown,无法投放到null所以Null Reference Exception就是find这就是您的原因获得dropdown

您需要做的是grdiview来自DropDownList ddl_jenis_kuitansi = row.FindControl("ddl_jenis_kuitansi") as DropDownList; 的{​​{1}},然后执行其他操作。

<style type="text/css">
    <%@include file="css/style.css" %>
</style>
<script type="text/javascript">
    <%@include file="js/script.js" %>
</script>

答案 1 :(得分:0)

您无法直接从gridview获取下拉值,请使用下面的代码行 为此

 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");
    }