0

重複の可能性:
WebMethod からコード ビハインド関数にアクセスする

私はJsonを介して呼び出している次のWebMethodを持っています。その正常に動作します。

   [System.Web.Services.WebMethod]
public static string CheckUserName(string userName)
{
    string returnValue = string.Empty;
    try
    {
        string consString = ConfigurationManager.AppSettings["cn"].ToString();
        SqlConnection conn = new SqlConnection(consString);
        SqlCommand cmd = new SqlCommand("UsernameCheck", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@username", userName.Trim());
        conn.Open();
        returnValue = cmd.ExecuteScalar().ToString();
        conn.Close();
    }
    catch
    {
        returnValue = "error";
    }
    return returnValue;
}

しかし、ご存知のように、静的関数のページ コントロールとコード ビハインド関数にアクセスすることはできません。

しかし、ここでは WebMethod のコード ビハインド関数にアクセスする必要があります。すなわち

public void test()
  {
   }

Webmethod の「テスト」機能にアクセスするにはどうすればよいですか。テスト機能では、2 つのリピーター コントロールとデータテーブルを使用しました。

ありがとうございました。

4

1 に答える 1

0

あなたの言ったことを理解した。しかし、あなたがやろうとしていることは、そのようには不可能です。

webmethod はページ内のスクリプトに返されるので、ページから別のインスタンス メソッドを呼び出すことはできません。

test()結果の後に同じページへのポストバックを行い、メソッドを再度呼び出すことをお試しください。その後、リピーターとデータテーブルを更新できます。

もう 1 つの解決策は、Web メソッドによってリピーターを html として返すことです。

于 2012-06-21T06:42:12.193 に答える