【问题标题】:Is there a way to bind a complex object to radiobutton有没有办法将复杂对象绑定到单选按钮
【发布时间】:2015-01-29 18:13:57
【问题描述】:

我有一个从我的模型生成的单选按钮列表,如下所示:

@foreach (var offer in Model.AvailableOffers)
{                    
  <div>
    @Html.RadioButtonFor(m => m.selectedAvailableOffer, offer)
    @Html.Label(offer.begin_date.Month + "/" + offer.begin_date.Day + " - " + offer.end_date.Month + "/" + offer.end_date.Day + ", " + offer.offer_name)
  </div>
}

模型包括这些:

public List<AvailableOffer> AvailableOffers { get; set; }
public AvailableOffer selectedAvailableOffer { get; set; }

看看我是如何尝试在RadioButtonFor 方法中将我的offer 对象发布回我的控制器的?这显然是行不通的,但这是我想要完成的。有什么方法可以将整个选定的 offer 对象发布回我的控制器,或者我是否坚持向我的对象添加某种 ID,并且只按照此处的建议发布 ID:

Correct way to bind an mvc3 radiobutton to a model

【问题讨论】:

  • 只需将 ID 发回即可。渲染每个 AvailableOffer 的所有属性并使用 javascript 来确保回发正确的属性会降低性能,远远超过在控制器中获取所选 AvailableOffer 的数据库调用

标签: c# asp.net-mvc-3 razor radio-button


【解决方案1】:

简而言之:不,您不能将整个 'offer' 对象传递回服务器。最好只在客户端使用 id。 如果您真的想回发整个报价,您可以使用某种序列化将来自每个报价对象的数据存储为单选按钮的值。

【讨论】:

    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 2013-04-23
    相关资源
    最近更新 更多