在Asp.net mvc中保留回发值

时间:2014-10-18 21:09:25

标签: c# asp.net-mvc list repopulation

enter image description here我有以下模式的数据; 如图所示,

我想在Postback上重新填充所有这些值和控件。 我正在使用asp.net MVC

如果我应该使用列表,那么我如何处理要保存在一列中的多个主题值,但是在不同列中显示的视图

          currently using forms collection:


int rows=request.Form["rows"];
int colmn=requst.form["comn"];


var list1=new list<mymodel>{
new mymodel {}}
;
for (var row = 1; row <= noOfRows; row++)
{

  list1.Add(new mymodel()
   {
       name= Request.Form["name-row"].ConvertToInt()
        rollno= Request.Form["rollno-row"].ToString(),
   });




   for (int colmn = 1; colmn <= noOfColmns - 1; colmn++)
  {
       list1.Add(new mymodel()
      {

          subject = Request.Form["subj-row-colmn"].ConvertToInt()
       });

    }
}

让我知道是否需要其他东西

重要提示:

我想我无法解释我想要的东西,所以我缩小了一个问题, 为了更精确,我创建了一个列表,我填写了一个列表 如

 var list1=new list<mymodel>{
    new mymodel {}}
 list1.Add(new mymodel()
       {
           name= Request.Form["name-row"].ConvertToInt(),
            rollno= Request.Form["rollno-row"].ToString(),
            subj=new list{}

       });

,现在我想遍历此列表以获取所有值 在给定的格式。 问:如何使用所需格式的循环(foreach或for)从此列表中获取值?

1 个答案:

答案 0 :(得分:1)

您需要将值绑定到视图模型,即回发时List<MyVM> vm。然后,每个视图模型都需要保持CRUD的状态。它可以是一个简单的键/值对,如:

public class MyVM
{
    #region Properties

    #endregion

    public Dictionary<string, VMState> States;
}

public class VMState
{
    public bool Create { get; set; }
    public bool Read { get; set; }
    public bool Update { get; set; }
    public bool Delete { get; set; }
}