动态设置选项值
问题描述:
我有两个不同的列表:EmployeeNames和Names 我读取了名称和EmployeeNames中的值。动态设置选项值
如果名称中存在EmployeeNames,则不能将该值添加到“ToSelectBox”,而是添加到“FromSelectBox”。
如果名称中不存在EmployeeNames,则必须将该值添加到“ToSelectBox”,而不是添加到“FromSelectBox”。
我该如何动态地做到这一点?
我有2个选项值如下:
<select id="fromSelectBox" multiple="multiple" >
<% foreach (var item in Model.EmployeeNames) { %>
<option value="<%=Html.Encode(Item.Text)%>"><%=Html.Encode(item.Text)%></option>
<%}
%>
</select>
select id="ToSelectBox" multiple="multiple" >
<% foreach (var item in Model.Names) { %>
<option value="<%=Html.Encode(Item.Text)%>"><%=Html.Encode(item.Text)%></option>
<%}
%>
</select>
答
你必须检查数据,和可编程控制这一点。您可以在控制器中执行此操作,您可以在其中使用Linq检查一个列表中是否存在名称,并遵循您的业务规则,然后将最终列表传递给模型以传递给视图。
您可以将该逻辑放入您的视图中,但这会破坏控制器的目的和图层的分离。
我认为,不是试图过滤视图中的列表,您的模型应该反映视图的需要 - 返回从控制器预过滤的列表。 – Jay 2010-03-29 12:10:57