开发者

Index was out of range. Must be non-negative and less than the size of the collection Error How to resolve?

Hi I am getting this error :

Index was out of range. Must be non-negative and less than the size of the collection Error How to resolve?

My code is like this, in the Reservationcontroller:

private void loadCountry()
    {
        ReservationHelper reservationHelperObject = new ReservationHelper();

        ViewData["countryOut"] = new SelectList(reservationHelperObject.LoadCountry());
        ViewData["countryIn"] = new SelectList(reservationHelperObject.LoadCountry());

        CountryOut = ((MultiSelectList)(ViewData["CountryOut"])).ToList()[0].Text;
    }

Any ideas ?

Continuation of code:

private void loadDefaultvalues()
    {
        List<string> emptyList = new List<string>();
        ViewData["locationIn"] = new SelectList(emptyList);
        ViewData["locationOut"] = new SelectList(emptyList);
        ViewData["RateProgram"] = new SelectList(emptyList);
        ViewData["Currency"] = new SelectList(emptyList);
        ViewData["VehicleClass"] = new SelectList(emptyList);
        ViewData["ReservationStatusDropDownList"] = new SelectList(emptyList);
        ViewData["Miles"] = new SelectList(emptyList);
        ViewData["currencyDropDownList"] = new SelectList(emptyList);
        ViewData["ReservationStatus"] = new SelectList(emptyList);
        ViewData["vehicleClassDropDownList"] = new SelectList(emptyList);
        ViewData["rateProgramDropDownList"] = new SelectList(emptyList);
        ViewData["parentOutDropDownList"] = new SelectList(emptyList);
        ViewData["parentInDropDownList"] = new SelectList(emptyList);
        ViewData["zon开发者_Python百科eOutDropDownList"] = new SelectList(emptyList);
        ViewData["zoneInDropDownList"] = new SelectList(emptyList);
        ViewData["locationOutDropDownList"] = new SelectList(emptyList);
        ViewData["locationInDropDownList"] = new SelectList(emptyList);
        ViewData["authorizationDropDownList"] = new SelectList(emptyList);
        ViewData["specialServiceDropDownList"] = new SelectList(emptyList);

        ViewData["RentalStatus"] = new SelectList(emptyList);
        ViewData["Status"] = new SelectList(emptyList);
        ViewData["Fop"] = new SelectList(emptyList);
        ViewData["CustomerType"] = new SelectList(emptyList);

        this.loadRentaStatus();
        this.loadStatus();
        this.loadFop();
        this.loadCustomerTypes();
        this.loadCountry();
        this.loadReservationStatuses();
        //this.loadMilesPercentage()
        this.loadSpecialService();
        this.loadRAType();
        this.loadAirline();
        this.loadTerminal();
        this.loadParentCode();
        this.loadZoneCode();
        this.loadAuthorizationType();
    }

Thanks


This code is evaluating to an empty list:

((MultiSelectList)(ViewData["CountryOut"])).ToList()

How to fix it? The best way is to do something like the following:

private void loadCountry()
{
    ReservationHelper reservationHelperObject = new ReservationHelper();

    ViewData["countryOut"] = new SelectList(reservationHelperObject.LoadCountry());
    ViewData["countryIn"] = new SelectList(reservationHelperObject.LoadCountry());

    var list = ((MultiSelectList)(ViewData["CountryOut"])).ToList();
    if (list.Count > 0) {
        CountryOut = list[0].Text;
    } else {
        // do something sensible when you have no data
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜