3

未定義の変数リストを返すテキスト ボックスが表示されるのはなぜですか?

このコードを実行すると:

var query = (from tisa in db.TA_Info_Step_Archives
                 where tisa.ta_Serial.ToString().StartsWith(prefixText)
                 select tisa.TA_Serial.ToString()).Distinct().Take(Convert.ToInt32(count));

return query.ToList<string>().ToArray();

この XML ファイルを取得します。

<string>200700160</string> 
  <string>200700161</string> 
  <string>200700162</string> 
  <string>200700163</string> 
  <string>200700164</string> 
  <string>200700170</string> 
  <string>200700171</string> 
  <string>200700172</string> 
  <string>200700173</string> 
  <string>200700174</string> 
  <string>200700175</string> 
  <string>200700176</string> 
  <string>200700177</string> 
  <string>200700178</string> 
  <string>200700179</string> 
  <string>200700180</string> 
  <string>200700181</string> 
  <string>200700182</string> 
  <string>200700183</string> 
  <string>200700184</string> 

undefinedしかし、テキストボックスは....のリストを返します。

助けてください?

4

7 に答える 7

4

私のajaxキットをバージョン1.0.10920に更新し、コードを次のように変更しました:

     foreach (DataRow dr in dt.Rows)
        {
            items.SetValue("\"" + dr["somenumber"].ToString() + "\"", i);
            i++;
        }

.net を使った金曜の深夜は楽しくありません。私にはもう楽しみも何もありません。:-P

于 2008-11-03T16:56:31.687 に答える
1

以下のコードを試してみましたが、うまくいきました:

items.SetValue("'"+dr["somenumber"]+"'", i);
于 2009-04-21T07:49:52.327 に答える
0

ツールキットの dll バージョンには違いがあります。

更新されたバージョンでは、"'"+ +"'" を挿入する必要はなく、問題なく動作します。バージョン 1.0.10920 では必要です。

于 2011-04-07T07:01:38.500 に答える
0

問題はメソッドではなく、オートコンプリートをメソッドに接続する方法にあるようです...エクステンダーは次のようになっていますか?

<cc1:AutoCompleteExtender ID="Result" runat="server" TargetControlID="txtSearch" ServiceMethod="YourMethodHere"
    ServicePath="~/Service/YourWebServiceHere.asmx"     CompletionInterval="500"
    EnableCaching="false" CompletionListCssClass="AutoComplete_List"  CompletionSetCount="10">
</cc1:AutoCompleteExtender>
于 2008-10-09T19:49:13.430 に答える
0

私が見ている問題は、AJAX ライブラリが数値を整数として見ていることです。それらを文字列として見る必要があります。

私はそれを文字列に変換しましたが、まだ何も得られません。数値が文字列として認識されるようにするには、数値に何らかの文字を追加する必要があります。それは恐ろしいことです。しかし、オートコンプリート エクステンダー .js ファイルの AJAX ライブラリのどこかで、整数を探しません。彼らは構築方法に欠陥があるため、調べる必要がある文字列のみを探します...

スコット。

于 2008-10-09T20:33:04.590 に答える
0

私は同じ問題に遭遇しました。この問題は、ここで数値を使用していることに間違いなく起因しているように思われることに同意します。配列項目の最後にアルファを追加するとすぐに機能します。バグが見つかったと思います。

これは未定義のものを追い出します....

...
da.Fill(dt);
        string[] items = new string[dt.Rows.Count];
        int i = 0;
        foreach (DataRow dr in dt.Rows)
        {
            items.SetValue(Convert.ToString(dr["somenumber"]), i);
            i++;
        }
...

これにより、リストが正常にロードされます

...
da.Fill(dt);
        string[] items = new string[dt.Rows.Count];
        int i = 0;
        foreach (DataRow dr in dt.Rows)
        {
            items.SetValue(Convert.ToString(dr["somenumber"]+"foo"), i);
            i++;
        }
...

私にはバグのようです。

于 2008-10-31T22:28:06.697 に答える