相关疑难解决方法(0)

ASP.NET MVC Html.DropDownList SelectedValue

我试过这是RC1,然后升级到RC2,但没有解决问题.

// in my controller
ViewData["UserId"] = new SelectList(
    users, 
    "UserId", 
    "DisplayName", 
    selectedUserId.Value); // this has a value
Run Code Online (Sandbox Code Playgroud)

result:在对象上设置SelectedValue属性

// in my view
<%=Html.DropDownList("UserId", (SelectList)ViewData["UserId"])%>
Run Code Online (Sandbox Code Playgroud)

结果:所有预期选项都呈现给客户端,但未设置所选属性.SelectedValue中的项目存在于列表中,但列表中的第一项始终默认为选中.

我该怎么做?

更新 感谢John Feminella的回复,我发现了问题所在."UserId"是我的视图强类型化的模型中的属性.当Html.DropDownList("UserId"更改为除"UserId"之外的任何其他名称)时,将正确呈现所选值.

这导致值不受模型约束.

asp.net-mvc

102
推荐指数
3
解决办法
29万
查看次数

如何使用嵌套视图模型获取EditorFor的数据

这是我的情况 -

我有两个嵌套视图模型:

  1. <%=Html.EditorFor(x => x.DisplayEntitiesWithRadioboxesViewModel)%><br />

它位于其父级 (StructureViewModel) 中,我可以轻松填充嵌套的 ViewModel 并将其传递到主视图:

在控制器内 - 示例

var moveDepartment = new StructureViewModel();
moveDepartment.DisplayEntitiesWithRadioboxesViewModel = fullDepartmentList.Select(x => new DisplayEntityViewModel
            {
                Id = x.Id,
                Path = x.Path,
                PathLevel = x.PathLevel,
                Description = x.Description,
            });

return View(moveDepartment);
Run Code Online (Sandbox Code Playgroud)

EditorTemplete - 示例

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Site.Areas.Administration.ViewModel.DisplayEntityViewModel>>" %>
<table class="aligncenter"><%
  if (Model != null)
  {
    foreach (var entity in Model)
    {%>
      <tr class="tRow">
        <td style="text-align:left; text-indent:<%=Html.Encode(entity.PathLevel)%>em">
          <%=Html.Encode(entity.Description)%>
          <%=Html.RadioButton("radiobutton",entity.Id)%>
        </td>              
      </tr><%    
    }
  }%>
</table>


namespace Site.Areas.Administration.ViewModel
{
    public class …
Run Code Online (Sandbox Code Playgroud)

asp.net viewmodel asp.net-mvc-2

5
推荐指数
1
解决办法
4327
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-2 ×1

viewmodel ×1