값을 선택하면 관련 데이터를 렌더링하는 부분보기가 표시되는 드롭 다운 목록이 있습니다. 나는이 일에 익숙하지 않아서 며칠 동안 일해 왔고 일하기가 어려울 것 같습니다. 누구든지 도와주세요.드롭 다운 목록 변경시 부분보기가 렌더링되지 않음
INDEX
@{ ViewBag.Title = "Voyage Information"; }
@using (Ajax.BeginForm("Index", "VM", new AjaxOptions { UpdateTargetId = "VMResults" }))
{
<div id="container">
<label for="ddlvm"><strong>Select Vessel</strong></label>
@Html.DropDownListFor(m =>m.Vessel_ID,(SelectList)ViewBag.ddl, "-- Select Vessel --", new {@id =
"ddlvm"})
<br/><br/>
<div id="VMResults">
</div>
</div>
}
<script type="text/javascript">
$(document).ready(function() {
$("#ddlvm").change(function() {
var vId = $("#ddlvm").val();
$("#VMResults").load('@(Url.Action("GetVessel","VM",null, Request.Url.Scheme))?vId=' +
vId);
});
});
CONTROLLER
public ActionResult Index()
{
ViewBag.ddl = new SelectList(db.X_VesselMaster.OrderBy(x => x.Vessel_Name), "Vessel_ID", "Vessel_Name");
return View();
}
[HttpGet]
public ActionResult GetVessel(int y)
{
var viewModel = new VoyageData();
viewModel.VesselMasters = db.X_VesselMaster.Where(i => i.Vessel_ID == (y)).Include(i =>
i.X_Vessel_Transaction_Header).ToList();
if (y != null)
{
viewModel.Vessel_Transaction_Headers = viewModel.VesselMasters.Single(i => i.Vessel_ID ==
(y)).X_Vessel_Transaction_Header.Where(c => c.Deleted <= 0).ToList();
}
return PartialView("_Voyages", viewModel);
}
부분보기
@model ......
<table>
<thead>
<tr><th>Vessel ID</th></tr>
<tr>
<th>Arrived</th>
</tr>
</thead>
@foreach (var m in Model.Vessel_Transaction_Headers)
{
<tr><td>@m.Vessel_ID</td></tr>
<tr>
<td>@m.Arrived</td>
</tr>
}
</table>
컨트롤러에 'y'라는 매개 변수가 있어야하지만 매개 변수'? vId =' – devqon