gpt4 book ai didi

asp.net-mvc-3 - MVC 3 仅某些字段的编辑 View

转载 作者:行者123 更新时间:2023-12-04 05:25:45 25 4
gpt4 key购买 nike

我有这个模型:

public class ExchangeRate
{
[Key]
public int ExchangeRateID { get; set; }
[Required]
[Display(Name = "Currency:")]
public string Currency { get; set; }
[Required]
public decimal Rate { get; set; }
}

“创建” View 工作正常,但是当我在编辑 View 中时,我只希望显示货币属性,而不是可编辑的。我该怎么做?如果我为此类创建另一个“仅查看”模型,那么我将省略“货币”属性并且无法显示它。
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>ExchangeRate</legend>

@Html.HiddenFor(model => model.ExchangeRateID)

<div class="editor-label">
@Html.LabelFor(model => model.Currency)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.Currency)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.Rate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Rate)
@Html.ValidationMessageFor(model => model.Rate)
</div>

<p>
<input type="submit" value="Save" />
</p>
</fieldset>

}

将 @Html.EditorFor(model => model.Currency) 更改为 @Html.DisplayFor(model => model.Currency) 不起作用,因为模型状态在回发到 Controller 时变得无效。

最佳答案

你可以添加

@Html.HiddenFor(model => model.Currency)

在您的表单中,然后使用
@Html.DisplayFor(model=> model.Currency)

显示货币属性的只读值。这样,当您发布该值时,该值将在发布的模型中一起发送。

关于asp.net-mvc-3 - MVC 3 仅某些字段的编辑 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8682417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com