2

私は次のようなデータベーステーブルを持っています:

ここに画像の説明を入力

次のように、textboxID を参照して textboxValue を取得しようとしています。

   public string GetPuzzle(string tid)
   {
       return context.crosswords.First(c => c.TextBoxID == tid).TextBoxValue;
   }

上記のコード (CRUD クラス ファイル) でエラーが発生しました: System.InvalidOperationException: Sequence contains no elements

2 つの for ループを使用してパネルに 100 個のテキスト ボックスを作成しました。各テキスト ボックスには 00-99 の ID があるため、データベースとして textBoxID を参照して、ループ内のテキスト ボックスのテキストに textBoxValue を追加しようとしています。その上。

そして、以下のコードは私がそれをやろうとする方法です、それが正しい方法であるかどうかわかりません:

protected void Page_Load(object sender, EventArgs e)
{      
    for (int i = 0; i <= 9; i++)
    {           
        for (int j = 0; j <= 9; j++)
        {                
            TextBox tb = new TextBox();
            tb.MaxLength = (1);
            tb.Width = Unit.Pixel(40);
            tb.Height = Unit.Pixel(40);
            tb.ID = i.ToString() + j.ToString(); // giving each textbox a different id  00-99 
            Panel1.Controls.Add(tb);
            tb.Enabled = false;

            tb.Text = daoCrossword.GetPuzzle(tb.ID).ToString();
        } 

        Literal lc = new Literal();
        lc.Text = "<br />";
        Panel1.Controls.Add(lc);
    }
}

textboxid = tid の textboxvalue を選択しようとしています。tid はコードビハインドの私の tb.ID になり、100 ループがあるため、tb.ID が 00-99 から増加するたびに、データベースに値を含む ID に達すると、テキストボックス値が追加されます (データベースから)そのテキストボックスなどに。

4

3 に答える 3

1

の ID を作成するために 2 つの for ループを使用しているためTextBox、それぞれに 00 から 99 までの ID があります。

しかし、実際には TextBoxID 列の値は 0,1,2,3,4,5 のようになります。

生成された ID は textboxid 列にはありません。

したがって、このコード:

return context.crosswords.First(c => c.TextBoxID == tid).TextBoxValue;

エラー

于 2013-06-25T02:47:11.780 に答える