【发布时间】:2013-06-20 12:45:25
【问题描述】:
有没有办法在 C# 中将几个不同的视图模型对象存储在一个 var 数组中?
示例:
var user_model = db.Database.SqlQuery<User>("SELECT * FROM [User]").ToList();
var product_model = db.Database.SqlQuery<Product>("SELECT * FROM [Product]").ToList();
var my_models = new[]{ user_model, product_model };
string[] object_titles = { "User" , "Product" };
for( int i=0 ; i<my_models.Length ; i++ ){
if( my_models[i].Count() != 0 )
return View("../"+ object_titles[i] +"/Index", my_models[i]);
}
不幸的是,上面的例子不起作用,我不知道如何解决这个问题。 谁能给我一个提示,如何解决?
【问题讨论】:
-
你有什么异常吗?
-
“不起作用”是对您遇到的任何问题的绝对可怕描述,我很确定这也不是您收到的任何错误消息的文本......
-
这段代码应该做什么?我有点困惑?
-
@DimitarDimitrov 是的,我也被抛出了一个循环(不是双关语)。在我第三次阅读时,我终于明白他们想要返回第一个包含数据的模型的视图。我认为...
-
对不起,我没有描述我的代码的目的。上面的例子只是原始代码的一个非常简单的版本。我正在编写一个搜索函数,它使用 sql 查询 (WHERE LIKE('%my_name%')...) 来遍历数据库表以查找任何结果。如果找到用户名或其他内容,则返回该对象的索引视图(列表),您可以在其中编辑或删除现在显示在索引视图列表中的找到的结果。
标签: c# asp.net arrays object var