Как просмотреть отдельные записи в MVC3.Стиль доступа - PullRequest
0 голосов
/ 24 февраля 2012

Я в процессе воссоздания нашего сайта с использованием MVC3. Я не могу обернуть голову вокруг решения, чтобы воспроизвести некоторые старые функции сайта.

На нашем текущем сайте отображается посылка и отображаются две кнопки: nextID, previousID, каждая из которых возвращает строку URL-адреса из вызова функции (ASP Classic), которая выглядит следующим образом.

Function GetNextID()

    Dim Temp

    SQLStmt.CommandText = "SELECT AccountNumber FROM " & DBOwner & "DataProperty Where cardnumber=1 and NBC <> 'TPMH' and LUC <> '6832' and closed = 0 and ParcelID > '" & PropertyID & "' order by ParcelID asc"

    RSProp.Open SQLStmt

    If Not RSProp.EOF Then
        Temp = RSProp("AccountNumber")
    Else
        Temp = ""
    End If

    RSProp.Close    

    GetNextID = Temp

End Function 'GetNextID

Есть ли лучший способ сделать это? Есть ли способ выстраивать данные на уровне детализации, заложенном в MVC3?

Что я не хочу делать, так это ...

ViewResult Show(string parcelId)
{
  if(Request["next"] == "next")
    return _service.GetNextId(parcelId);
  if(Request["prev"] == "prev")
   return _service.GetPrevId(parcelId);
   //Or return this parcel
   return _service.getProperty(parcelId);
}

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

Я собираюсь сделать это в ViewModel, который я решил.

У меня просто будет свойство для ViewModel, .PriorId и .NextId

0 голосов
/ 24 февраля 2012

Я сделаю это следующим образом:

ViewResult Next(int parcelId)
{
    return View("Show",_service.GetNextId(parcelId));
}

ViewResult Prev(int parcelId)
{
   return View("Show", _service.GetPrevId(parcelId));
}

ViewResult Show(int parcelid)
{
   var model = new Parcel();// replace Parcel with your model class here 

   // Here get all the Parcel properties from DB or from whereever.
   ...
   return View(model);
}

PS Можете ли вы также показать свою разметку ASP Classic?Может быть, я смогу предложить что-то лучшее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...