중복 질문과 긴 질문 일 수 있습니다. 그러나 나는 나의 해결책을 얻지 못했고 문제는 전문가에게 쉽다.MVC 5의 뷰에서 컨트롤러로 ID 전달하기
내 HomeController
에는 Index()
, Customer()
및 Item()
이라는 3 개의 ActionResult()가 있습니다.
Model Class:
namespace Customer.Models
{
public class CustomerInfo
{
public int CustomerId { get; set; }
public string CustomerName { get; set; }
public string ItemName { get; set; }
}
}
내 Customer()
에 대해 이야기하고있다. Customer()
에서 목록은 CustomerView
페이지로 돌아갑니다.
HomeController:
List<CustomerInfo> customers = new List<CustomerInfo>();
public ActionResult Customer()
{
customers.Add(new CustomerInfo { CustomerName= "Nafeeur"});
customers.Add(new CustomerInfo { CustomerName = "Rasel" });
customers.Add(new CustomerInfo { CustomerName = "Fagun" });
return View(customers);
}
CustomerView
페이지 :
@model IEnumerable<Customer.Models.CustomerInfo>
@using Customer.Models;
@{
ViewBag.Title = "Customers";
}
<h2>@ViewBag.Title.</h2>
<h1>Customer Name</h1>
<ul>
@foreach(CustomerInfo customer in @Model)
{
<li>
@Html.ActionLink(customer.CustomerName, "Index", "Customer", new {id = customer.CustomerId})
</li>
}
</ul>
나는라는 이름의 또 다른 컨트롤러 페이지로 ID를 전달하고있어이보기 페이지에서 CustomerController
코드 :
namespace Customer.Controllers
{
public class CustomerController : Controller
{
// GET: Customer
public ActionResult Index(int id)
{
var list = new List<CustomerInfo>();
var item = list.Find(x => x.GetId(id));
return View(item);
}
}
}
CustomerController
의보기 페이지 : 나는 그것이 작동하지 않는 모든 고객을 클릭하면
@model Customer.Models.CustomerInfo
@{
ViewBag.Title = "Customer Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Customer Index</h2>
<h3>@Model.CustomerId</h3>
<h3>@Model.CustomerName</h3>
<h3>@Model.ItemName</h3>
내 문제가있다.
그리고 귀하의 질문은 ...? –
질문이 추가되었습니다. –
'CustomerId'에 대한 어떤 값도 설정하지 않았습니다 -'Index'() 메소드의'id' 값은'0'이 될 것이므로 모두'0' ('int'의 기본값)이됩니다 –