我是 ASP.NET MVC C# 開發的新手,所以我有這個代碼 PortalUsersViewModel
public class PortalUsersViewModel
{
public UserInformation User { get; set; }
public Notification Notification { get; set; }
public PageDetails PageDetails { get; set; }
public NewUser NewUser { get; set; }
}
public class NewUser
{
public UserInformation Information { get; set; }
}
public class UserInformation
{
public string UserId { get; set; }
public string Password { get; set; }
public int Status { get; set; }
public int Role { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string RoleDescription { get; set; }
public string Gender { get; set; }
// For change password
public string CPassword { get; set; }
public string OldPassword { get; set; }
public int PwType { get; set; }
}
和我的 HTML
@using (Html.BeginForm("CreateUser", "Users", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-row">
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="FirstName" required value="@Model.User.FirstName">
<label class="small font-weight-bold custom-form-label">First Name<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="MiddleName" value="@Model.User.MiddleName">
<label class="small font-weight-bold custom-form-label">Middle Name</label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="LastName" required value="@Model.User.LastName">
<label class="small font-weight-bold custom-form-label">Last Name<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="LastName" required value="@Model.User.LastName">
<label class="small font-weight-bold custom-form-label">Last Name<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="email" class="form-control form-control-sm custom-input" name="Email" required value="@Model.User.Email">
<label class="small font-weight-bold custom-form-label">Email<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<select name="Gender" class="custom-select custom-select-sm custom-select-1" required>
<option value="" disabled>Please select your gender</option>
<option value="M" @(Model.User.Gender == "Male" ? "selected" : "") )>Male</option>
<option value="F" @(Model.User.Gender == "Female" ? "selected" : "")>Female</option>
</select>
<label class="small font-weight-bold custom-form-label">Gender<span class="text-danger">*</span></label>
</div>
</div>
<div class="form-row">
<div class="col-12 col-sm-3 text-center mt-2 mb-2 form-group mx-auto">
<button class="btn btn-sm btn-block custom-btn-dark" type="submit"><i class="fas fa-fw fa-plus-circle"></i> Create</button>
</div>
</div>
}
我的控制器期待這樣的發布資料:
public ActionResult CreateUser(NewUser _user) {
return Json(_user.Information);
}
我想在里面有 UserInformation 物件的 NewUser 物件中獲取資料。但是每當我提交帖子并以 JSON 格式列印時,我都沒有收到任何內容。我需要在我的 HTML 中做些什么來在 NewUser -> UserInformation 中提交資料嗎?
尋求您的建議。提前非常感謝。
uj5u.com熱心網友回復:
當您將NewUser物件發布到 API 時,NewUser包含嵌套物件Information。
在您的表單中,您需要<input>使用前綴修改元素名稱屬性:Information.<Property>。
以便將這些輸入元素的值傳遞到Information物件的屬性中。
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="Information.FirstName" required value="@Model.User.FirstName">
<label class="small font-weight-bold custom-form-label">First Name<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="Information.MiddleName" value="@Model.User.MiddleName">
<label class="small font-weight-bold custom-form-label">Middle Name</label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="Information.LastName" required value="@Model.User.LastName">
<label class="small font-weight-bold custom-form-label">Last Name<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="text" class="form-control form-control-sm text-capitalize custom-input" name="Information.LastName" required value="@Model.User.LastName">
<label class="small font-weight-bold custom-form-label">Last Name<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<input type="email" class="form-control form-control-sm custom-input" name="Information.Email" required value="@Model.User.Email">
<label class="small font-weight-bold custom-form-label">Email<span class="text-danger">*</span></label>
</div>
<div class="col-12 col-sm-6 mt-2 mb-2 form-group custom-form-group">
<select name="Information.Gender" class="custom-select custom-select-sm custom-select-1" required>
...
</select>
<label class="small font-weight-bold custom-form-label">Gender<span class="text-danger">*</span></label>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518278.html
