【问题标题】:How to display edit and details on a single view in mvc如何在 mvc 中的单个视图上显示编辑和详细信息
【发布时间】:2011-07-15 09:18:59
【问题描述】:

我正在寻找一个部分编辑我的模型 - 场景是我想显示 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>

谢谢

【问题讨论】:

  • 能否提供一些代码示例?
  • 哦,好吧...那么您需要更新什么,您的 &lt;% using(Html.BeginForm()) { } 块在哪里以及您如何在 MVC2 项目中使用 MVC3 ViewBag 属性?

标签: asp.net-mvc asp.net-mvc-2 strongly-typed-view


【解决方案1】:

你的实现在这里都是错误的。首先不要到处使用&lt;table&gt;的布局,可以使用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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2014-02-12
    • 2012-10-31
    相关资源
    最近更新 更多