如何将IEnumerable对象或数据从视图传递到控制器? [英] How to pass IEnumerable object or data from view to controller?
本文介绍了如何将IEnumerable对象或数据从视图传递到控制器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了一个强类型视图.我想将IEnumerable对象或数据从视图传递到控制器.以下是我的模型,控制器,视图
I have created a strongly type view. I want to pass IEnumerable Object or data from View to Controller. Following are my Model, Controller ,view
我的型号:
public class UserDetailsClass
{
public static FeedbackDatabaseDataContext context = new FeedbackDatabaseDataContext();
public class Tablefields
{
[Key]
public int ID { get; set; }
[Required(ErrorMessage = "Email is required")]
public string EmailID { get; set; }
[Required(ErrorMessage="Password is required")]
public string Password { get; set; }
[Required(ErrorMessage = "First Name is required")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is required")]
public string LastName { get; set; }
}
public static List<UserDetails> getalluser()
{
var lst = (from r in context.UserDetails select r);
return lst.ToList();
}
}
我的控制器
public ActionResult Test()
{
IList<UserDetailsClass.Tablefields> viewmodel = new List<UserDetailsClass.Tablefields>();
var q = UserDetailsClass.getalluser().ToList();
foreach (SQLOperation.Models.UserDetails item in q)
{
UserDetailsClass.Tablefields viewItem = new UserDetailsClass.Tablefields();
viewItem.EmailID = item.Email;
viewItem.FirstName = item.FirstName;
viewItem.LastName = item.LastName;
viewItem.Password = item.Password;
viewmodel.Add(viewItem);
}
return View(viewmodel);
}
[HttpPost]
public ActionResult Test(IEnumerable<UserDetailsClass.Tablefields> items)
{
return View();
}
我的视图:
@model IEnumerable<SQLOperation.Models.UserDetailsClass.Tablefields>
@{
ViewBag.Title = "Test";
}
<h2>Test</h2>
@using (Html.BeginForm())
{
<table>
<tr>
<th>
EmailID
</th>
<th>
Password
</th>
<th>
FirstName
</th>
<th>
LastName
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.EmailID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Password)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
</tr>
}
</table>
<input type="submit" value="submit" />
}
我在项中没有任何值.当我在其上设置断点时,它在项中显示 NULL 我对如何将值传递给 controller 感到非常困惑.
I didn't get any value in items.When I set breakpoint on it it show NULL in items I am totally Confused about how to pass values to controller.
谢谢你, 阿莫尔
推荐答案
@for (int i = 0; i < Model.length; i ++)
{
<tr>
<td>
@Html.DisplayFor(model => Model[i].EmailID)
</td>
<td>
@Html.DisplayFor(model => Model[i].Password)
</td>
<td>
@Html.DisplayFor(model => Model[i].FirstName)
</td>
<td>
@Html.DisplayFor(model => Model[i].LastName)
</td>
</tr>
}
</table>
<input type="submit" value="submit" />
}
这篇关于如何将IEnumerable对象或数据从视图传递到控制器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文