2015-04-14 28 views
-1

我有一个由两部分组成的视图。第一部分是一张桌子。此表显示来自MongoDB数据库的数据,如下所示:获取MongoDB中第一条记录的标识

id| item 1 | item 2 | item 3 
1 | value1 | value1 | value1 details 
2 | value2 | value2 | value2 details 
3 | value3 | value3 | value3 details 

另一部分是列表。当我点击在我TABEL记录一个细节,一个列表显示与记录的数据,这样的:

id : 1 
item 1: value1 
item 2: value1 
item 3: value1 

这工作得很好。但是当我进入这个页面时,我没有点击details列表保持空白。我希望这个列表充满我的表格的第一条记录的数据(无需点击细节链接)。

此列表是动态生成的,所以我使用循环来显示项目。 所以,如果我点击详细信息:

@Html.ValueFor(x => x.LineViewItems.First(lvi => lvi.Id == Model.SelectedLineView) 
        .LineFieldAttributes.Single(lfa => lfa.Name == fieldName).Value); 

这个代码显示了记录的值。但是,如果details不点击,在else部分,我想使用相同的代码,但变化:

(lvi => lvi.Id == Model.SelectedLineView) 

到这样的事情:

(lvi => lvi.Id == "Id of the first record") 

有人可以帮助我?

编辑

我的if/else语句:

foreach (var fieldName in Model.LineViewAttributeNames) 
    { 
     <div class="editor-label"> 
      @fieldName 

     </div> 
     <div class="editor-field"> 
      @if (!string.IsNullOrEmpty(Model.SelectedLineView)) 
      { 
       @Html.EditorFor(x => x.LineViewItems.First(lvi => lvi.Id == Model.SelectedLineView) 
         .LineFieldAttributes.Single(lfa => lfa.Name == fieldName).Value, null, fieldName, null) 
      } 
      else 
      { 
       // the code when details is not clicked. 
      } 
     </div> 
    } 

回答

1

你可以做类似下面,我感动ifFirst语句中。

foreach (var fieldName in Model.LineViewAttributeNames) 
{ 
    <div class="editor-label"> 
     @fieldName 

    </div> 
    <div class="editor-field"> 
     @{ 
      var selectedItem = Model.LineViewItems.First(lvi => { 
        var selectedId = Model.SelectedLineView; 
        if(string.IsNullOrEmpty(Model.SelectedLineView)) // details is not clicked (SelectedLineView is not set) 
        { 
         selectedId = Model.LineViewItems.First().Id; 
        } 
        return lvi.Id == selectedId; 
       }); 
     } 

     @Html.EditorFor(x => selectedItem.LineFieldAttributes.Single(lfa => lfa.Name == fieldName).Value, null, fieldName, null) 

    </div> 
} 
+0

我做的有点不同,我编辑了我的问题。我无法将您的答案转换为我的代码。 – bbvanee

相关问题