0

我正在寻找部分编辑我的模型 - 场景是我想显示 5 个字段和 2 个字段应该是可编辑的,当发布时它应该更新可编辑字段,强类型视图提供完全可编辑视图或详细视图,我怎么能同时拥有两者。任何建议或帮助将不胜感激。

 <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>

谢谢

4

1 回答 1

2

你的实现在这里都是错误的。首先,不要<table>到处使用's来布局,可以使用模板,将标签向左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);
}
于 2011-07-15T10:37:00.507 回答