次のようなビューモデルがあります
public class BusinessUnitDetail
{
public Guid Id { get; set; }
public string Name { get; set; }
public LicensesDetails LicensesDetails { get; set; }
public RepresentativeDetails RepresentativeDetails { get; set; }
}
public class LicensesDetails
{
public string BusinessUnitName { get; set; }
public List<LicensesVM> Licenses { get; set; }
}
public class RepresentativeDetails
{
public string BusinessUnitName { get; set; }
public List<RepresentativeVM> Representatives { get; set; }
}
現在、私のビューには、 List of RepresentativesとList of Licensesを示す 2 つのテーブルが含まれています。これがビューです。かなり長いですが、とにかく
@{
ViewBag.Title = "BusinessUnitDetails";
Layout = "~/Views/shared/_BootstrapLayout.basic.cshtml";
int snor = 1;
int snol = 1;
}
<fieldset>
<legend>@Model.Name <small>Representatives</small></legend>
</fieldset>
<table class="table table-striped table-hover table-bordered">
<caption></caption>
<thead>
<tr>
<th>S.No</th>
<th>Name</th>
</tr>
</thead>
@foreach (var entry in Model.RepresentativeDetails.Representatives)
{
<tr>
@*@Html.HiddenFor(m=>entry.BusinessUnitId)*@
<td>@(snor++)</td>
<td>@entry.UserName</td>
<td>
<div class="btn-group" >
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">
Action<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>@Html.ActionLink("Details", "RepresentativeDetails",routeValues:new{entry.BusinessUnitId})</li>
</ul>
</div>
</td>
</tr>
}
</table>
<fieldset>
<legend>@Model.Name <small>Licenses</small></legend>
</fieldset>
<table class="table table-striped table-hover table-bordered">
<caption></caption>
<thead>
<tr>
<th>S.No</th>
<th>Kind</th>
</tr>
</thead>
@foreach (var entry in Model.LicensesDetails.Licenses)
{
<tr>
@* @Html.HiddenFor(m=>entry.BusinessUnitId)*@
<td>@(snol++)</td>
<td>@entry.LicenseName</td>
<td>
<div class="btn-group" >
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">
Action<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>@Html.ActionLink("Details", "LicenseDetails",routeValues:new{entry.BusinessUnitId})</li>
</ul>
</div>
</td>
</tr>
}
</table>
ライセンス テーブルの一部の行の[詳細]アクションをクリックすると、に記載されているアクション メソッドにリダイレクトされると思っていましたが、そうではありません。詳細アクションをクリックしたときのルートはLicenseDetails
Html.ActionLink
Customer/businessunit/LicenseDetails?BusinessUnitId=25c70a1d-0ed5-406f-8cae-1c6c1bf7d0da
LicenseDetails?BusinessUnitId=部分がどのように生成されているのか、またアクションがコントローラーの LicenseDetails メソッドに転送されない理由がわかりません。2 番目のテーブルの詳細アクションをクリックすると、適切な Guid id を持つ適切なコントローラー アクションに転送されるようにするにはどうすればよいですか?
編集 1: ライセンス詳細アクション メソッド
public ActionResult LicenseDetails(Guid licenseId)
{
var licenseDetails = _businessUnitRepository.GetLicenseDetail(licenseId);
return View(licenseDetails);
}