2

私はプログラミングが初めてで、現在、データベース on_load から Telerik RadComboBoxes を設定する C# asp.net Web サイトに取り組んでいます。

15 個以上の ComboBoxes を持つフォームがあり、それらの ComboBoxes から値を選択すると、それらの ComboBox の選択を使用して、データベース内の非常に大きなテーブルを検索する必要があります。gridView は、返されたデータを表示します。

プロジェクトの残りの部分で同じ形式のコードを使用しており、完全に機能しますが、「場所」DropDownBox からアイテムを選択してデータベースを検索すると、エラーが発生'Input string was not in a correct format'し、理由がわかりません

これが私のLocation.csクラスです

地域のプロパティ

    [Key]
    public int LocationID { get; se; }
    [Column("Location")]
    public string LocationName { get; set; }
    private int? _ParentLocationID;
    [Column]
    public int? ParentLocationID
    {
        get
        {
            return _ParentLocationID;
        }
        set
        {
            if (value == 0)
            {
                _ParentLocationID = null;
            }
            else
            {
                _ParentLocationID = value;
            }
        }
    }

    [Column]
    public int SiteID { get; set; }
    [Column]
    public bool Active { get; set; }

region メソッド

    public static IEnumerable<Location> LoadActiveLocations(int siteID)
    {
        iThNkContext db = new iThNkContext();

        var LocationList = (from l in db.Locations
                                where(l.SiteID == siteID && l.Active == true)
                                orderby l.LocationID
                                select l).ToList();

        return LocationList;
    }

そして、これが私の.aspxファイルで使用しているコードです

RadTreeView trvLocation = (RadTreeView)cboLocation.Controls[2].FindControl("trvLocation");
         if (trvLocation.SelectedValue != "")
         {
            var locationID = Convert.ToInt32(trvLocation.SelectedValue);  //Error
            predicates.Add(p => p.LocationID == locationID);
        }

//エラー行で、「入力文字列が正しい形式ではありませんでした」というエラーが表示されます。提案があれば教えてください。なぜこの問題を抱えているのか理解できません

前もって感謝します

4

2 に答える 2

1

LocationID は null 許容値のようです。null 値を Int32 に変換することはできません。ドロップダウン リストにバインドされた各値メンバーが null 値ではなく、有効な整数であることを確認する必要があります。

于 2013-04-16T10:54:59.290 に答える