asp.net mvc 4 を使用しています。ユーザーの選択に基づいてフォームを更新する方法はありますか?
(この場合、ドロップダウン リストから何かを選択した場合は住所フィールドに入力します。それ以外の場合は、新しい住所を入力する必要があります)
私のモデル: public class NewCompanyModel {
[Required]
public string CompanyName { get; set; }
public bool IsSameDayRequired { get; set; }
public int AddressID { get; set; }
public Address RegisterOfficeAddress { get; set; }
}
意見:
@model ViewModels.NewCompanyModel
@using (Html.BeginForm(null, null, FormMethod.Post, new { name = "frm", id = "frm" }))
{
@Html.ValidationSummary(true)
<fieldset id="test">
<legend>Company</legend>
<h2>Register office address</h2>
<div class="editor-label">
@Html.LabelFor(model => model.AddressID)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.AddressID, (IList<SelectListItem>)ViewBag.Addresses, new {id = "address", onchange = "window.location.href='/wizard/Address?value=' + this.value;" })
</div>
<div class="editor-label">
@Html.LabelFor(model => model.RegisterOfficeAddress.BuildingNameOrNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.RegisterOfficeAddress.BuildingNameOrNumber)
@Html.ValidationMessageFor(model => model.RegisterOfficeAddress.BuildingNameOrNumber)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.RegisterOfficeAddress.StreetName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.RegisterOfficeAddress.StreetName)
@Html.ValidationMessageFor(model => model.RegisterOfficeAddress.StreetName)
</div>
およびコントローラー:
public ActionResult Address(string value)
{
//get the address from db and somehow update the view
}
問題は、「model.RegisterOfficeAddress.StreetName」などをどのように更新するかです。明確にするために、これはフォームの一部にすぎないため、まだ送信できません。
どうもありがとう