[英]How to populate details fields on combo box selected item change in ASP.net MVC
我有以下控制器類方法,用於使用WCF服務獲取和發布更新MVC應用程序中的人記錄的動作。 我正在使用組合框選擇ID。 這是我的控制器類方法,用於獲取人員詳細信息。
public ActionResult updatePerson()
{
Service1Client SCOBJ = new Service1Client();
List<Person> PeLi = SCOBJ.GetPersons().ToList();
ViewBag.List = PeLi.Select(x => new SelectListItem
{
Value = (Convert.ToString(x.Id)),
Text = x.FName + " " + x.LName
});
return View();
}
[HttpPost]
public ActionResult updatePerson(Person personobj)
{
Service1Client SCOBJ = new Service1Client();
SCOBJ.UpdatePerson(personobj);
List<Person> PeLi = SCOBJ.GetPersons().ToList();
ViewBag.List = PeLi.Select(x => new SelectListItem
{
Value = (Convert.ToString(x.Id)),
Text = x.FName + " " + x.LName
});
return View();
}
這是我的看法。
<form method="post" action="@Url.Action("updatePerson")">
ID:@Html.DropDownList("Id", new SelectList(ViewBag.List, "Value", "Text"))
@*<input type="text" name="Id" />*@
<br />
First Name: <input type="text" name="FName" />
<br />
Middle Name: <input type="text" name="MName" />
<br />
Last Name: <input type="text" name="LName" />
<br />
Date of Birth:<input type="date" id="start" name="DOB" value="2018-07-22" min="1900-01-01" max="2000-12-31" />
<br />
NIC:<input type="text" name="NIC" />
<br />
Address:<input type="text" name="Adddress" />
<br />
<input type="submit" value="Insert" />
</form>
我想在更改ID的選定值時實現將詳細信息加載到“名字中間名”,“姓氏地址”和NIC文本字段以及“ DOB日期時間”輸入字段中。 換句話說,當我從ID的選擇列表中選擇一個ID時,我想將詳細記錄加載到所有字段。 我該如何實現?
假設您的控制器中有這個
public JsonResult GetPersonDetails(int Id){
var person = db.Person.Where(m => m.Id == Id); //this should be accessed from the db
return Json(person);
}
然后您認為
<form method="post" action="@Url.Action("updatePerson")">
ID:@Html.DropDownList("Id", new SelectList(ViewBag.List, "Value", "Text"), null, new { @id= "Id"})
<br />
First Name: <input type="text" name="FName" id="FName" />
<br />
Middle Name: <input type="text" name="MName" id="MName" />
<br />
Last Name: <input type="text" name="LName" id="LName" />
<br />
Date of Birth:<input type="date" id="start" name="DOB" value="2018-07-22" min="1900-01-01" max="2000-12-31" />
<br />
NIC:<input type="text" name="NIC" />
<br />
Address:<input type="text" name="Adddress" />
<br />
<input type="submit" value="Insert" />
</form>
確保提供所有輸入ID變量
然后,您將具有一個Javascript函數來調用控制器
$("#Id").change(function(){
var value = $("#Id").val();
//$.get(URL,data,function(data,status,xhr),dataType)
$.get(
"@Url.Action("GetPersonDetails")",
{id:value},
function (response) {
$("#FName").val(response.FName);
//assign all other variables here
},
"json"
);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.