Возникли проблемы с заполнением раскрывающегося списка в режиме редактирования в виде сетки по функциям

Я пытаюсь заполнить DDL, вызывая функцию, но она не пройдет условие If, чтобы перейти к функции здесь, уже проверила все, но она не перейдет к функции, вот мой код для вида сетки:

    <asp:GridView ID="smOrderShipmentList" runat="server" 
                    AutoGenerateColumns="False" Width="100%" BackColor="LightGoldenrodYellow" 
                    BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" 
                    GridLines="None" AllowPaging="false" 
                    OnRowDataBound="smOrderShipmentList_RowDataBound" 
        DataKeyNames="OrderShippingID" OnRowEditing="smOrderShipment_RowEditing" 
        onrowupdating="smOrderShipmentList_RowUpdating" 
        onrowcancelingedit="smOrderShipmentList_RowCancelingEdit">
                <Columns>

                    <asp:TemplateField HeaderText="Order Shipping ID" ItemStyle-Width="10%">
                        <ItemTemplate>

                          <a   href="javascript:collapseExpand('orderShippingID2-<%# Eval("OrderShippingID") %>');"> <asp:Label id="lblOrderShippingID" runat="server" Text='<%# Eval("OrderShippingID")%>' /></a>

                        </ItemTemplate>
                    </asp:TemplateField>
                   <%-- <asp:BoundField DataField="ShippingVia" HeaderText="Shipping Via" ItemStyle-Width="12%"/>--%>
                    <asp:TemplateField HeaderText="Shipping Via" ItemStyle-Width="12%" >
                    <ItemTemplate>
                    <%--  <asp:DropDownList ID="lblShippingvia" runat="server" ><asp:ListItem>default</asp:ListItem>
                      </asp:DropDownList>--%>
                    <asp:Label ID="lblShippingvia" runat="server" Text='<%# Eval("ShippingVia") %>' />
                    </ItemTemplate>
                    <EditItemTemplate>
                    <asp:DropDownList ID="ddlShippingvia" runat="server" EnableViewState="false"   />
                    </EditItemTemplate>
                    </asp:TemplateField>

...

Я попробовал два подхода, один прямой к функции, а также использовать привязку данных gridview, но оба получили ту же ошибку:

    protected void smOrderShipmentList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            int orderShippingID = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "OrderShippingID"));

            GridView gvChild = (GridView)e.Row.FindControl("gvOrderShippingDetail");
            var orderShippingDetailList = Shipping.GetOrderShippingDetailList("", orderShippingID, -1, true);
            gvChild.DataSource = orderShippingDetailList;
            gvChild.DataBind();
        }



        if ((e.Row.RowState & DataControlRowState.Edit) > 0)
        {
            DropDownList ddl = (DropDownList)e.Row.FindControl("ddlShippingvia");


            ddl.DataSource = bindshippmethods(((Label)e.Row.FindControl( "lblSellerID")).Text);

            ddl.DataBind();
            ddl.SelectedValue = ((Label)e.Row.FindControl("lblShippingvia")).Text;


   }  
    protected ArrayList bindshippmethods(string sellerid)
    {

        ArrayList shmp = new ArrayList();
        foreach (var item in  Shipping.GetAllShippingMethodBySellerId(sellerid))
                {
                    shmp.Add(item.ShippingMethodName.ToString());

                    }

        return shmp;
    }



}`  

0 ответов

Другие вопросы по тегам