2013-12-17 2 views
1

Я в настоящее время модель, проходящая переменная собак в поле зрения:ASP.NET MVC - передача нескольких переменных в модель?

public ActionResult Summary() 
{ 
    var dogs = repository.GetAllRecords().OrderByDescending(x => x.DateRecieved); 

    return View("Summary", dogs); 
} 

Это имеет поле в нем называется OutcomeID, который ссылается на другой массив, ID:

var categories = new List<Category>(); 
    try 
    { 
     this.Connect(); 
     var cmd = new SqlCommand 
     { 
      CommandText = "dbo.GetSummaryOutcomes", 
      CommandType = CommandType.StoredProcedure, 
      Connection = this.cn 
     }; 
     var result = cmd.ExecuteReader(); 
     while (result.Read()) 
     { 
      categories.Add(new Category 
      { 
       Name = result["Outcome"].ToString(), 
       Value = result["id"].ToString(), 
       InUse = bool.Parse(result["InUse"].ToString()) 
      }); 
     } 
    } 

Есть в любом случае так что, на мой взгляд, я могу объединить их, и вместо того, чтобы просто иметь OutcomeID, я ссылаюсь на результат Результатов из списка категорий?

т.е. мне нужно получить result["Outcome"] на основе соответствия dogs.OutcomeID к result["id"]

Извините, если это звучит как глупый вопрос, в PHP это не будет проблемой для меня, но я новичок в ASP. NET MVC, и я не знаю, где начать

Спасибо

ответ

4

вы можете создать вид модели, которая является обычной практикой в ​​ASP.NET MVC, в основном вам придется создать новый класс со свойствами что вам нужно перейти к вашему представлению, тогда в вашем контроллере вы отправите instace of v iew, а также преобразовать ваши данные в режим просмотра.

Посмотрите здесь ASP.NET MVC - How exactly to use View Models. Также вы можете взглянуть на automapper, который представляет собой библиотеку сопоставлений, которая удаляет много кода шаблона, который используется при работе с моделями просмотра.

+0

Спасибо :) Я сейчас пойду! – Nick

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