Tôi có một mẫu chỉnh sửa đơn giản cho mô hình người dùng nhưng khi tôi đăng lại, không có giá trị đầu vào bị ẩn nào được áp dụng cho mô hình và tôi không chắc chắn tại sao điều này xảy ra.Bài đăng MVC không thêm giá trị vào mẫu
My Razor:
@model CMS.Core.Models.UserProfile
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset class="normalForm">
<legend>User Profile</legend>
@Html.HiddenFor(model => model.UserId)
<div class="formRow">
<div class="editor-label">
@Html.LabelFor(model => model.EmailAddress)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.EmailAddress, new { @class = "textbox" })
@Html.ValidationMessageFor(model => model.EmailAddress)
</div>
</div>
<div class="formRow">
<div class="editor-label">
@Html.LabelFor(model => model.FirstName)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.FirstName, new { @class = "textbox" })
@Html.ValidationMessageFor(model => model.FirstName)
</div>
</div>
<div class="buttonRow"><input type="submit" value="Save" class="button" /></div>
</fieldset>
}
điều khiển của tôi:
[HttpPost]
public ActionResult Edit(UserProfile user)
{
if (ModelState.IsValid)
{
user.Save();
return RedirectToAction("Index");
}
return View(user);
}
UserProfile lớp:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; private set; }
[Required(ErrorMessage = "Please enter an email address")]
[StringLength(350)]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email Address")]
public string EmailAddress { get; set; }
[StringLength(100)]
[DataType(DataType.Text)]
[Display(Name = "First Name")]
public string FirstName { get; set; }
}
Nếu tôi cố gắng user.UserId
nó sẽ trả về zero (vì nó là một int) nhưng nếu Tôi thử Request["UserId"]
nó trả về giá trị chính xác để giá trị được đăng chính xác - không được thêm vào mô hình UserProfile
. Có ai biết tại sao điều này đang xảy ra hoặc những gì tôi có thể làm gì để giải quyết nó
Cảm ơn
HTML được tạo như thế nào cho trường bị ẩn? Bạn cũng có thể đăng mô hình UserProfile của mình không? – nemesv
– Pete
HTML được tạo có vẻ ổn. Vì vậy, bạn có thể cập nhật bài viết của bạn với định nghĩa của lớp 'UserProfile' của bạn? – nemesv