重複する質問と長い質問かもしれません。しかし私は私の解決策を得ておらず、問題は専門家には簡単です。MVCのビューからコントローラへのIDの受け渡し5
私の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'のデフォルト)になります。 –