HTML.ActionLink를 사용하여 내가 클릭 한 것을 기반으로 내 컨트롤러의 값을 내보기로 전달하려고합니다. 예를 들어 'Soccer'를 클릭하면 'Soccer'값이 컨트롤러로 전달되어 컨트롤러에 표시되는 값이 변경됩니다. 현재 스포츠 이름을 클릭해도 아무 일도 일어나지 않습니다. 프로젝트를 디버깅 할 때 컨트롤러의 스포츠 이름 매개 변수는 null입니다. 즉, 값이 컨트롤러로 전달되지 않았 음을 나타냅니다. 그런 다음Html.ActionLink가 값을 통과하지 않음
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
:
이 @foreach (var item in Model.Sports)
{
<p>
@*@Html.ActionLink(@item, "Index", "Home")*@
@Html.ActionLink(@item, "Index", "Home")
</p>
}
</div>
<div class="col-md-4">
@foreach (var Coupon in Model.CurrentCoupons())
{
<p>
Coupon: @Coupon.CouponName <br />
Event Count: @Coupon.EventsCollection.Count
<br />
Event:
@foreach (var Event in Coupon.EventsCollection)
{
@Event.Name;<br /><br />
}
@foreach (var Market in Coupon.MarketList)
{
@Html.ActionLink(@Market.Name, "Index", "Home")<br />
}
</p>
<table>
@foreach (var Selection in Coupon.SelectionList)
{
<tr>
<td width="400">@Selection.Name</td>
<td>@Selection.PriceFixed</td>
</tr>
}
</table>
}
컨트롤러 : 기본적으로, 라우팅과 같이
public class HomeController : Controller
{
public ActionResult Index(string sportName)
{
ViewBag.Title = sportName;
return View(new TestDataHelper(sportName));
}
}
죄송합니다. @qbik, 내가 입력 한 것이고 s가 아닙니다. ee는 당신이 그것을 게시했다. 나는 너의 것을지지했다. – MDiesel