Как отобразить редактирование и детали на одном представлении в MVC - PullRequest
0 голосов
/ 15 июля 2011

Я ищу частично отредактировать мою модель - сценарий состоит в том, что я хочу отобразить 5 полей, 2 поля должны быть редактируемыми, и когда происходит сообщение, оно должно обновлять редактируемые поля, представление типа Strongly обеспечивает либо полностью редактируемое представление, либо подробный вид, как я могу иметь оба в сочетании. Любой совет или помощь будут оценены.

 <tr><td>Booking ID</td><td><%: Model.ID %></td></tr>
                    <tr><td>Transaction No.</td><td><%: Model.TransactionNumber %>&nbsp;(<%: Model.PaymentProvider %>)</td></tr>
                    <tr><td>Date</td><td><%: String.Format("{0:g}", Model.DateAdded) %></td></tr>
                    <tr><td>Name</td><td><%: ViewBag.account.FirstName %>&nbsp;<%: ViewBag.account.LastName %></td></tr>
                    <tr>
                        <td>
                            <div class="editor-label">
                                <%: Html.Label("Event") %>
                            </div>
                        </td>
                        <td>
                            <div class="editor-field">
                                <%: Model.Event.Name %><%: Model.Event.Description %>
                            </div>
                        </td>
                    </tr>
                    <tr><td valign="top">Address</td><td><%= HtmlFormatting.FormatAddress(ViewBag.address)%></td></tr>
                    <tr><td>Cost</td><td>&pound;<%: String.Format("{0:F}", Model.Cost) %></td></tr>
                    <tr><td>Status</td><td><%: ViewBag.status %></td></tr>

Thnx

1 Ответ

2 голосов
/ 15 июля 2011

Ваша реализация здесь не так.Прежде всего, не используйте <table> везде для макета, вы можете использовать шаблон MVC, просто поместите теги div влево.

Вам нужен ViewModel, внутри которого выможет ссылаться на ваш Booking объект, который, как я полагаю, является объектом базы данных?

Что-то вроде ...

public class BookingViewModel
{
   public Booking Booking { get; set; }
}

И когда вы вызываете свой View из контроллера, передайте его в

public ActionResult Index()
{
   return View(new BookingViewModel());
}

Затем вы можете добавить Post результат действия к вашему контроллеру, в котором вы можете обновить свои свойства

[HttpPost]
public ActionResult Index(BookingViewModel model)
{
   //Update your properties
   return View(model);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...