2016-05-31 2 views
-2

私は場合、Request.QueryStringとのエラーを得ていると私は任意の解決策を見つけるように見えるカント..どこからでもRequest.QueryStringにアクセスできますか?

public static DataTable SelectFrom(string Table, string Felt, string query) 
    { 
    DataTable dt = new DataTable(); 
    try 
    { 

     SqlCommand cmd = new SqlCommand("SELECT * FROM " + Table + " WHERE " + Felt + " = @parameter", conn); 
     cmd.Parameters.AddWithValue("@parameter", Request.QueryString[query]); 

     SqlDataAdapter ad = new SqlDataAdapter(cmd); 
     ad.Fill(dt); 
    } 
    catch 
    { 

    } 
    return dt; 
} 
+0

どのようなエラーがありますか? –

+0

エラーは何ですか? –

+1

'catch(Exception ex)'を使用し、空の 'catch'の代わりにログ/デバッグするので、何が起こっているのかを見ることができます。 –

答えて

1

のように、ヌルのためにそれをチェックする必要がある場合、Request.QueryString使用する前に、あなたはstaticメソッド内QueryStringを取得しようとしている、あなたが使用する必要があるので、このメソッドの内部には、Request objectはありません。

HttpContext.Current.Request.QueryString 

静的メソッドで。

+0

ありがとう、私は必要なすべての助けを持っている。 HttpContext.Current。解決策でしたか? – krogslundb

2

はあなたのコードが別のクラスまたはアセンブリの内側(ないページクラス内)であるようだ、もしはい、私たちは、あなたが得たエラーを知ってみましょう

httpcontext.current.request.QueryString

+2

"あなたのコードはクラスまたはアセンブリの内部にあるようです" - そのようなコードはどこにありますか? –

+0

あなたのフレーズがこのように奇妙に見えるとき、私は直接ページクラスの中にいないことを意味します –

0

を使用しています。

常にあなたが

if(Request.QueryString[query] != null && Request.QueryString[query].ToString() != string.empty) 
+0

「要求」がスタンドアロンクラスでは機能しないので、コードがページクラスかスタンドアロンクラスかをチェックしますページクラス。 –

関連する問題