2010-05-01 72 views
0

我將角色提供者添加到構建的AccountModel中,但在使用註冊視圖模型在我的視圖中添加GetAllRoles時遇到了一些問題。加入AccountModel角色提供者 - AccountModel

public interface IRolesService 
{ 
    SelectList GetAllRoles(); 
} 

    public class RolesService : IRolesService 
{ 
    public SelectList GetAllRoles() 
    { 
     var AllRoles = new SelectList(Roles.GetAllRoles()); 
     return AllRoles; 
    } 
} 

註冊查看頁面繼承AccountModel

public class RegisterModel 
    { 
     UserName, Email Etc.... 

     [Required] 
     [DisplayName("AllRoles")] 
     public SelectList AllRoles { get; set; } 
    } 

角色服務

視圖模型RegisterModel

  Form... 

      <div class="editor-label"> 
       <%= Html.LabelFor(m => m.ConfirmPassword) %> 
      </div> 
      <div class="editor-field"> 
       <%= Html.PasswordFor(m => m.ConfirmPassword) %> 
       <%= Html.ValidationMessageFor(m => m.ConfirmPassword) %> 
      </div> 

      <%= Html.DropDownListFor(m => m.AllRoles)%> 

我不確定如何使用View Model中的所有角色填充DropDown列表。

任何幫助將是非常棒的!

+0

這應該起作用。你得到的錯誤是什麼? – Amitabh 2010-05-01 13:06:28

+0

我已經將我的代碼添加到了下面的帖子中,現在有錯誤...使用New關鍵字創建實例 – Jemes 2010-05-01 16:36:29

回答

0

我認爲你需要選定角色的屬性和角色的完整列表。角色列表將用於填充下拉列表,所選角色將在選定值後填充。

public class RegisterModel 
{ 
    UserName, Email Etc.... 

    [Required] 
    [DisplayName("Role")] 
    public string Role { get; set; } 

    [ScaffoldColumn(false)] 
    public SelectList AllRoles { get; set; } 
} 

... 
public ActionResult Register() 
{ 
    var roleService = new RoleService(); 
    var model = new RegisterModel 
    { 
      AllRoles = roleService.GetAllRoles(), 
      // Role = "User" if you want to choose a default 
    } 

    return View(model); 
} 


<div class="editor-label"> 
    <%= Html.LabelFor(m => m.ConfirmPassword) %> 
</div> 
<div class="editor-field"> 
    <%= Html.PasswordFor(m => m.ConfirmPassword) %> 
    <%= Html.ValidationMessageFor(m => m.ConfirmPassword) %> 
</div> 

<%= Html.DropDownListFor(m => m.Role, Model.AllRoles, "--select--", null)%> 
+0

儘管在我的HTML.DropDownListFor代碼的視圖中出現以下錯誤,但這是有道理的。 。使用New關鍵字創建實例 – Jemes 2010-05-01 15:59:40

+0

@Jemes - 嘗試在不使用'「--select--」,null'的情況下使用它,看看是否仍然出現錯誤。 – tvanfosson 2010-05-01 17:18:24

+0

Did'nt工作仍然有同樣的錯誤。 – Jemes 2010-05-01 18:33:39

相關問題