私のアプリケーションは、C#.Net でコード化された Asp.net MVC3 にあります。DropDownList を持つビューがあります。このドロップダウンリストには、データベースに存在するすべてのテーブルの名前があります。私の要件は、ユーザーがドロップダウンリストから特定のテーブルを選択し、Json im を介して、以下のコードに示すようにテーブルの名前を Json メソッドに渡すことです。
$("#MyTableNames").change(function () {
$("#MyDiv").load("/../MyController/MyActionMethod", { TableName:$("#MyTableNames").val() }, function () {
});
});
上記は、テーブル名をコントローラーのアクションに渡す方法です。ここまではすべて問題ありません。以下は私のアクションコードです。クエリを作成するために2つの方法を試しました...エンティティSQLも含まれています.LINQはこれをサポートしていないため、LINQはありません。
//First Method
public ActionResult MyAction(string TableName)
{
var model = db.ExecuteStoreQuery<TableName>("Select * from " + TableName + " where Delete_Flag='" + false + "'");
ViewBag.MyData=model;
return PartialView();
}
//Second Method
public ActionResult GetRecords(string TableName)
{
var sql = "SELECT VALUE emp FROM " + TableName + " AS emp ";
var query = db.CreateQuery <TableName>(sql);
Viewbag.MyData=query;
return PartialView();
}
しかし、上記の方法はどれも <> パラメータをテーブルとして必要としません... ビューに入力できるように、クエリの結果を VierwBag に渡したいです。どうすればこれを達成できるかを提案してください。