-1

Ich bin neu in ASP.NET MVC.Ich arbeite mit einem Beispielprojekt mit individuellen Benutzerkonten. Ich habe einen neuen Bereich in meinem Projektordner angelegt und er enthält den UserManagement-Ordner. Es enthält eine Datei mit dem Namen UserManagementMethods.cs die folgenden Code:NullReferenceException tritt in DropDownListFor, ASP.NET MVC

namespace Library.Areas.UserManagement 
{ 
    public class UserManagementMethods 
    { 
      public IEnumerable<string> GetGenderList() 
      { 
      List<string> GenderGroup = new List<string> 
                 { 
                  "Male", 
                  "Female", 
                  "Not in the Above", 
                 }; 
      return GenderGroup; 

      } 

      public IEnumerable<SelectListItem> GetSelectedGenderItem(IEnumerable<string> elements) 
      { 

       foreach (var element in elements) 
       { 
        selectList.Add(new SelectListItem 
        { 
         Value = element, 
         Text = element 
        }); 
       } 

       return selectList; 
      } 

    } 
} 

Im Account, habe ich ein UserManagementMethods Objekt, Usermanagement:

using Library.Areas.UserManagement; 
........ 
........ 
UserManagementMethods userManagement = new UserManagementMethods(); 

Dann im Register() in der Account, I genannt UserManagementMethods Methoden

var genderList = userManagement.GetGenderList(); 
var model = new RegisterViewModel(); 
model.GenderList = userManagement.GetSelectedGenderItem(genderList); 
return View(); 

habe ich eine Dropdownlist in Register.cshtml

Als ich das Projekt ausführen und navigieren Sie zu /Account/Register, Nullreferenceexception tritt in der Nähe von DropDownListFor Field.

/Account/Register

Server Error in '/' Application.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 49: @Html.LabelFor(m => m.Gender, new { @class= "col-md-4 control-label"})< 
Line 50: <div class="col-md-8"> 
Line 51:  @Html.DropDownListFor(m => m.Gender, Model.GenderList, "Select An Option", new { @class = "form-control" }) 
Line 52: </div> 
Line 53:</div> 
+0

werden, da Sie das Modell auf die Ansicht nicht zurück, so dass ihre 'null' in der Ansicht -' return View (Modell); –

+0

Vielen Dank. – PROTOCOL

Antwort

0

Sie sind nicht das Modell zur Ansicht zu schicken.

return View(); 

sollte

return View(model); 
+0

Vielen Dank. – PROTOCOL

Verwandte Themen