【发布时间】:2014-06-20 12:49:43
【问题描述】:
我想将变量传递给其他控制器表名, 我正在尝试 ViewBag.Variable 但确实发送空值。
如果您可以将这些参数从一个控制器传递到另一个控制器 非常感谢您的帮助
public class HomeController : Controller
{
public ActionResult Index()
{
string NombreVariable = "TablaUsuario";
ViewBag.Variable = NombreVariable;
return View();
}
[ValidateInput(false)]
public ActionResult GridViewPartial()
{
var entity = (IEnumerable)db.GetType()
.GetProperty(ViewBag.Variable)
.GetValue(db, null);
var model = entity.Cast<object>();
return PartialView("_GridViewPartial", model);
}
[HttpPost, ValidateInput(false)]
public ActionResult GridViewPartialAddNew()
{
var entity = (dynamic)db.GetType()
.GetProperty(ViewBag.Variable)
.GetValue(db, null);
var model = entity;
if (ModelState.IsValid)
{
try
{
Model.TableUsuario tb = new Model.TableUsuario();
int contador=tb.GetType().GetProperties().Count();
//Coleccion[] cual = new Coleccion[contador];
int contadores = 0;
string[] valores = new string[contador];
foreach( var i in tb.GetType().GetProperties())
{
valores[contadores] = "'" + Convert.ToString(GridViewExtension.GetEditValue<dynamic>(i.Name)) + "' AS " + i.Name ;
contadores += 1;
}
db.Database.ExecuteSqlCommand("insert into TableUsuario SELECT " + string.Join(",",valores));
db.SaveChanges();
}
catch (Exception e)
{
ViewData["EditError"] = e.Message;
}
}
else
ViewData["EditError"] = "Please, correct all errors.";
return PartialView("_GridViewPartial", model);
}
【问题讨论】:
-
你能说明你是如何在你的视图中访问 ViewBag 的吗
-
您使用 ViewBag 将数据从控制器传递到视图。不要将数据从控制器传递到控制器。
标签: asp.net-mvc dynamic controllers