C# each()在控制器中设置视图时循环。即使手动设置每个列表中相关项目的。Selected属性也不会转换为视图本身。我已经更新了原始问题中的foreach()代码,以显示新代码。我将在这里补充一点,在调试中单步执行代码可以完成“预期”的所有操作,这甚至不应该
C# each()在控制器中设置视图时循环。即使手动设置每个列表中相关项目的。Selected属性也不会转换为视图本身。我已经更新了原始问题中的foreach()代码,以显示新代码。我将在这里补充一点,在调试中单步执行代码可以完成“预期”的所有操作,这甚至不应该,c#,asp.net-mvc,asp.net-mvc-3,model-view-controller,html.dropdownlistfor,C#,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,Html.dropdownlistfor,each()在控制器中设置视图时循环。即使手动设置每个列表中相关项目的。Selected属性也不会转换为视图本身。我已经更新了原始问题中的foreach()代码,以显示新代码。我将在这里补充一点,在调试中单步执行代码可以完成“预期”的所有操作,这甚至不应该是必需的。我怀疑问题可能是属性名MemberTypeLookUp\u ID中有下划线。试着去掉下划线,看看它是否有效。不,恐怕不行。我想你可能已经搞定了,因为我们的代码可能违反了一些奇怪的规则,但结果是一样的。我可以看到下划线现在已被删除的视图
each()在控制器中设置视图时循环。即使手动设置每个列表中相关项目的
。Selected
属性也不会转换为视图本身。我已经更新了原始问题中的foreach()
代码,以显示新代码。我将在这里补充一点,在调试中单步执行代码可以完成“预期”的所有操作,这甚至不应该是必需的。我怀疑问题可能是属性名MemberTypeLookUp\u ID
中有下划线。试着去掉下划线,看看它是否有效。不,恐怕不行。我想你可能已经搞定了,因为我们的代码可能违反了一些奇怪的规则,但结果是一样的。我可以看到下划线现在已被删除的视图源(即:id=“members\u 0\u\u MemberTypeLookUpID”name=“members[0]。MemberTypeLookUpID”
),但所有下拉列表仍然没有选择值。令人费解的。。。
[Display(Name = "Team Member")]
public int Contact_ID { get; set; }
[Display(Name = "Team Member")]
public String Contact_Name { get; set; }
[Display(Name = "Type/Role")]
public int MemberTypeLookUp_ID { get; set; }
[Display(Name = "Type/Role")]
public String MemberTypeValue { get; set; }
[Display(Name = "Type/Role")]
public LookUpList MemberTypeLookUp { get; set; }
foreach (TeamEditViewItem tevi in this.members)
{
tevi.MemberTypeLookUp = new LookUpList("TeamMemberType");
foreach (SelectListItem item in tevi.MemberTypeLookUp.list)
{
if (item.Value == tevi.MemberTypeLookUp_ID.ToString())
{
item.Selected = true;
break;
}
}
}
public class LookUpList
{
public SelectList list;
// Return all Active LookUp entries for the passed-in Category.
public LookUpList(String Category)
{
WorkpointContext _db = new WorkpointContext();
int Customer_ID = _db.GetCustomer_ID();
IList<LookUp> items = (from lookup in _db.LookUp
where (lookup.Category == Category)
&& (lookup.IsActive == true)
orderby lookup.DisplayOrder ascending
select lookup).ToList();
this.list = new SelectList(items, "ID", "Value");
}
}
@Html.DropDownListFor(model => model.members[i].MemberTypeLookUp_ID, Model.members[i].MemberTypeLookUp.list, "--Select--")
@Html.ValidationMessageFor(model => model.members[i].MemberTypeLookUp_ID)
@model WebWorkPoint.Models.TeamEditView
<h3>Edit Team</h3>
@using (Html.BeginForm()) {
<fieldset>
@if (Model.members.Count>0)
{
<table>
<!-- table headings -->
<thead>
<tr>
<td style="text-align:center; border-bottom: 1px solid black; " >
<div class='editor-label'>
@Html.LabelFor(m => m.members.First().Contact_Name)
</div>
</td>
<td class="spacer-border"> </td>
<td style="text-align:center; border-bottom: 1px solid black; " >
<div class='editor-label'>
@Html.LabelFor(m => m.members.First().MemberTypeValue)
</div>
</td>
</tr>
</thead>
<!-- table rows -->
<tbody>
@for (int i = 0; i < Model.members.Count; i++)
{
<tr>
<td style="text-align:center; " >
@Html.HiddenFor(m => m.members[i].Contact_ID)
<div class="editor-field">
@Html.EditorFor(m => m.members[i].Contact_Name)
@Html.ValidationMessageFor(model => model.members[i].Contact_Name)
</div>
</td>
<td class="spacer"></td>
<td style="text-align:center; " >
<div class="editor-field">
@Html.DropDownListFor(model => model.members[i].MemberTypeLookUp_ID, Model.members[i].MemberTypeLookUp.list, "--Select--")
@Html.ValidationMessageFor(model => model.members[i].MemberTypeLookUp_ID)
</div>
</td>
</tr>
}
</table>
}
else
{
<p>There are currently no team members defined.</p>
}
<p>
<input type="submit" value="Update Team" />
@{
sAction = "/" + Model.TableNameValue + "/" + Model.TableNameValue + "Show/" + Model.TableRecord_ID.ToString();
sLinkText = "Cancel";
}
<button type="button" onclick="location.href='@sAction'" >@sLinkText</button>
</p>
</fieldset>
}
// other code above ...
foreach (TeamEditViewItem tevi in this.members)
{
tevi.MemberTypeLookUp = new LookUpList("TeamMemberType");
}
@Html.DropDownListFor(model => model.members[i].MemberTypeLookUp_ID, new SelectList(Model.members[i].MemberTypeLookUp.list, "Value", "Text", Model.members[i].MemberTypeLookUp_ID), "--Select--")