2014-10-10 3 views
0

Я новичок в MVC, на мой взгляд, у меня есть:Объект рендеринга MVC4, который использует переменную?

@{ 
    MyObjectType myNameObject=getMyNameObject(); 
} 

<p> 
    Name : @myNameObject.firstName 
</p> 

Попытка реализовать DESING, когда линия «Имя: @ myNameObject.firstName» приходит из базы данных через модель или ViewBag и еще подобрать значение @myNameObject .имя. Это возможно? Спасибо

+0

It возможно. Передайте его как часть модели от контроллера – Andrei

+0

Я попытался использовать модель, я получаю «Имя: @ myNameObject.firstName», а не «Имя: Джон». Модель имеет item = "Name: @ myNameObject.firstName" –

ответ

0

Ваш метод действия контроллера должен получить данные и передать их в представление. Использование ViewModel - это, как правило, путь, но ViewBag также работает для одноразовых данных. Что-то вроде этого:

// View model. 
public class MyViewModel 
{ 
    public string Name {get; set;} 
} 

// Controller method. 
public ActionResult MyPage() 
{ 
    MyViewModel model = serviceLayer.GetMyData(); 
    return View(model); 
} 

// MyPage View. 
@model MyViewModel 
<p>Name: @Model.Name</p> 
+0

Мне нужно «Name: @ myNameObject.firstName», чтобы быть доступным в другом представлении для редактирования пользователем, то есть пользователи могут видеть «Имя:» и иметь возможность изменить его на « Имя: «например. И строка «Name: @ myNameObject.firstName» должна поступать из базы данных в эти два представления, поэтому, если она будет изменена, то оба ее представления отразятся. –

0

ваша модель:

public class MyNameObject 
{ 
    public MyNameObject() 
    { 
     //getvalues from database 
     //this.FirstName = yourObjectFromDatabase.FirstName; 
    } 
    public string FirstName { get; set; } 
} 

в своих взглядах, которые вы хотите, чтобы показать имя:

@using WebApplication1.Models; //put it at the top of the view 
@{ Html.RenderPartial("FirstName", new MyNameObject()); } 

Ваше мнение:

 @model WebApplication1.Models.MyNameObject 
     @{ 
      ViewBag.Title = "FirstName"; 
     } 

     <h2>Name : @Model.FirstName</h2> 
Смежные вопросы