2016-05-05 5 views
0

Вот мой код контроллера:Кастинг ViewData в asp.net MVC

public ActionResult Index() 
    { 
     AccountModel user = new AccountModel(); 
     user.Username = "Jay"; 
     user.Password = "Jay"; 
     ViewData["EmpData"] = user; 
     return View(); 
    } 

Как я могу бросить ViewData["EmpData"] в коде представления?

+0

Просто используйте 'вернуться View (пользователя),' 'и добавить @model user' в представлении –

+0

Я знаю, будет работать именно так. Но как заставить ViewData использовать @model AccountModel? – iJade

+0

Если вы не собираетесь передавать модель в представление, то в представлении нет точки, содержащей инструкцию '@ model'. Вы можете использовать '@ {var user = ViewData [" EmpData "] как пользователь; } ', но какой будет точка –

ответ

0

Здесь вы идете, используйте это в виду код:

@*Change namespace per your solution.*@ 
@using WebApplication.Models; 
@{ 
    AccountModel emp = (AccountModel) ViewData["EmpData"]; 
} 
0
// Controller 
     public ActionResult Index2() 
    { 
    IList<Student> studentList = new List<Student>(); 
    studentList.Add(new Student(){ StudentName = "Bill" }); 
    studentList.Add(new Student(){ StudentName = "Steve" }); 
    studentList.Add(new Student(){ StudentName = "Ram" }); 

     ViewData["studentsData"] = studentList; 

     return View(); 
    } 

    @* View *@ 
    @foreach (var std in ViewData["studentsData"] as      
    IEnumerable<Mvc_DisplayFormating.Models.Student>) 
{ 
    <li> 
     @std.StudentName 
    </li> 
    } 
    </ul> 
0
 @* Code below will do the casting for ViewData *@ 

    @foreach (var std in ViewData["studentsData"] as     
      IEnumerable<Mvc_DisplayFormating.Models.Student>) 
+0

напишите подробности о коде. – Deep

 Смежные вопросы

  • Нет связанных вопросов^_^