我开始使用MVC,我有以下模型
public class FormControls
{
//Properties of the FormControls object
public string formCName { get; set; }
public string formCType { get; set; }
public string formCCss { get; set; }
public string formCEnabled { get; set; }
public string formCDefaultVal { get; set; }
}
我还创建了以下控件,我使用linq查询数据库以选择记录。然后必须将每条记录添加到列表中。
public ActionResult Index()
{
var DataContext = new EditProfileFormFieldsDataContext();
var controls = from c in DataContext.Controls
select c;
List<FormControls> Fields = new List<FormControls>();
foreach(var fc in controls)
{
//Create Object for Generic List
FormControls epc = new FormControls();
epc.formCName = fc.Control_Name;
epc.formCType = fc.Control_Type;
epc.formCCss = fc.Control_CSS;
epc.formCEnabled = fc.Control_Enabled;
epc.formCDefaultVal = fc.Control_DefaultVal;
//Add Object to FormControls Generic List
Fields.Add(epc);
}
return View("EditProfile");
}
我的问题是如何在视图中使用RAZOR访问列表?我试图遍历我在视图中创建的列表。我对MVC很新,我想我已经在考虑很多了:)谢谢!
答案 0 :(得分:3)
您可以将视图模型设为List。把它放在视图的顶部:
@model List<FormControls>
更改Index()
方法的返回值:
return View("EditProfile", Fields);
然后您可以使用@Model从视图中访问它。例如,迭代它:
@foreach (var field in Model)
{
<p>@field.formCName</p>
}
答案 1 :(得分:0)
public ActionResult Index()
{
var DataContext = new EditProfileFormFieldsDataContext();
return View(DataContext.Controls.ToList());
}
或者如果您将视图重命名为&#34; index.cshtml&#34;,您可以这样做:
FOUNDATION_EXPORT double MagicalRecordVersionNumber;
FOUNDATION_EXPORT const unsigned char MagicalRecordVersionString[];
假设您还没有index.cshtml,请右键单击&#34;查看(&#34;并选择&#34;添加视图&#34;,在弹出向导中,选择&#34 ;列表视图&#34;和FormControls,将会有一个自动生成的视图,其中定义了@model,并有一个完善的表格,演示了如何使用它。