这是我的控制器:
public ActionResult ShowMenu(string id)
{
ViewBag.Id = id;
return View(id);
}我基本上是根据不同的菜单创建不同的网页。我创建的视图:
<div class="test">
@foreach (DataRow dr in ds.Tables[0].Rows)
{
<ul>
<li>@Html.ActionLink("Test", "ShowMenu", routeValues: new {id = "test" })</li>
</ul>
}
</div>因此,我还为ShowMenu创建了一个视图。但问题是:如何为ID创建多个网页?域看起来像mydomain.com/ShowMenu/test
随着for循环的不断迭代,test将变为不同的值,我需要为每个id参数创建不同的网页。
我只想使用我的ShowMenu视图,通过它,根据id参数动态地更改网页
发布于 2015-07-14 18:50:21
您需要使用DataRow中的一些属性,比如下面的dr["id"]访问方式。
<div class="test">
@foreach (DataRow dr in ds.Tables[0].Rows)
{
<ul>
<li>@Html.ActionLink("Test", "ShowMenu", routeValues: new {id = dr["id"] })</li>
</ul>
}
</div>顺便说一句,在我所知道的MVC中,将DataTables传递给您的视图并不常见。相反,您通常描述一个模型并传递它。例如
public class Product
{
public int Id {get; set;}
public string Name {get; set;}
}
public ActionResult List()
{
List<Product> products = Database.GetProducts();
return View(products);
}
public ActionResult Details(string id)
{
Product product = Database.GetProducts().Where(p => p.Id == id).Single();
return View(Product);
}https://stackoverflow.com/questions/31414440
复制相似问题