ASP.NET Webフォームaspx.csファイルのコードビハインドファイルでリポジトリクラスのインスタンスをインスタンス化する適切な方法は何ですか? 私はMVCコントローラでやったのと同じ方法でやってみましたが、何かを逃しているようです。 これはこれまで私が運を尽くして試したことです。適切何 「オブジェクト参照が非静的フィールド、メソッド、またはプロパティAjax._repoに必要です」:Webフォームのaspx.csファイルでリポジトリクラスを使用する適切な方法ASP.NET Webフォーム
public partial class Ajax : System.Web.UI.Page
{
private Repository _repo;
public Ajax()
{
_repo = new Repository();
}
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string CreateForm(object data)
{
_repo.Insert(data);
}
}
public class Repository()
{
public void Insert(object data)
{
//do something.
}
}
問題は、私はそれを構築しようとすると、Visual Studioは私に次のエラーを与えることですリポジトリクラスのインスタンスに静的なwebmethodアクセスを与える方法?
EDIT:明確化するために、静的メソッド内でリポジトリのインスタンスを使用する最良の方法は何ですか?
問題はどこですか? –
ビジュアルスタジオによると、これはオブジェクトのインスタンスではないため、これは構築されず、_repoの参照エラーが返されます。これは、それを使用ブロックに入れて動作しますが、それは私が避けようとしているものです。 – Knikedix
質問を編集して、実際の問題が他の読者にとってはっきりわかるようにしてください。 –