gpt4 book ai didi

asp.net-mvc - Html.DisplayFor 未将值发布到 ASP.NET MVC 3 中的 Controller

转载 作者:行者123 更新时间:2023-12-03 07:49:50 25 4
gpt4 key购买 nike

我正在使用带有 Razor 的 ASP.NET MVC 3,下面是我的 View 代码中的一个示例。

用户应该能够编辑他们的所有详细信息,但“电子邮件地址”字段除外。对于那个领域,我只使用了 Html.DisplayFor(m => m.EmailAddress) .

但是当这个表单被发布时,除了 EmailAddress 之外的所有模型属性都被填充了。 .

发布时如何在模型中取回电子邮件?我应该使用除 DisplayFor 以外的其他帮助程序吗? ?

@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "Account update was unsuccessful. Please correct any errors and try again.")
<div>
<fieldset>
<legend>Update Account Information</legend>
<div class="editor-label">
@Html.LabelFor(m => m.EmailAddress)
</div>
<div class="editor-field">
@Html.DisplayFor(m => m.EmailAddress)
@*@Html.ValidationMessageFor(m => m.EmailAddress)*@
</div>
<div class="editor-label">
@Html.LabelFor(m => m.FirstName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.FirstName)
@Html.ValidationMessageFor(m => m.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.LastName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.LastName)
@Html.ValidationMessageFor(m => m.LastName)
</div>
<p>
<input type="submit" value="Update" />
</p>
</fieldset>
</div>
}

请就此给我建议。

最佳答案

你需要添加一个

@Html.HiddenFor(m => m.EmailAddress)
DisplayFor不会在 POST 中发送任何内容,也不会创建输入...

顺便说一下,一个
@Html.HiddenFor(m => m.Id) // or anything which is the model key
会很有用

关于asp.net-mvc - Html.DisplayFor 未将值发布到 ASP.NET MVC 3 中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12314849/

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