我的应用程序在用 C#.Net 编码的 Asp.net MVC3 中。我有一个视图,它有一个 DropDownList。这个下拉列表有我的数据库中存在的所有表的名称。我的要求是当用户从下拉列表中选择一个特定的表,然后通过 Json 将表的名称传递给 Json 方法,如下面的代码所示。
$("#MyTableNames").change(function () {
$("#MyDiv").load("/../MyController/MyActionMethod", { TableName:$("#MyTableNames").val() }, function () {
});
});
以上是我如何将我的表名传递给控制器中的 Action。到这里一切都很好。以下是我的操作代码。我尝试了两种方法来编写查询......它也包括实体 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 以便我可以在视图中填充它。建议我怎样才能做到这一点。