我有一个控制器 StepOfIdea ,这个控制器有这样的动作:
StepOfIdeaRepository objStepOfIdearepository=new StepOfIdeaRepository();
public ActionResult Index(int ideaId)
{
return View(objStepOfIdearepository.FindBy(i=>i.IdeaId==ideaId));
}
所以我有另一个名为 idea 的控制器,这个控制器有一个名为 index 的视图
@model IEnumerable<DomainClass.Idea>
@{
ViewBag.Title = "Index";
}
<h2>لیست</h2>
@if (User.IsInRole("User"))
{
<p>
@Html.ActionLink("ایده جدید", "Create", new {step = 1})
</p>
}
<table>
<tr>
@if (User.IsInRole("Admin"))
{
<th>
@Html.DisplayNameFor(model => model.User.Name)
</th>
}
<th>
@Html.DisplayNameFor(model => model.IdeaPersion)
</th>
<th>
@Html.DisplayNameFor(model => model.IdeaEnglish)
</th>
<th>
@Html.DisplayNameFor(model => model.IdeaResult)
</th>
<th>
@Html.DisplayNameFor(model => model.Date)
</th>
<th></th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
@if (User.IsInRole("Admin"))
{
<td>
@Html.DisplayFor(modelItem => item.User.Name) @Html.DisplayFor(modelItem => item.User.Name)
</td>
}
<td>
@Html.DisplayFor(modelItem => item.IdeaPersion)
</td>
<td>
@Html.DisplayFor(modelItem => item.IdeaEnglish)
</td>
<td>
@Html.DisplayFor(modelItem => item.IdeaResult)
</td>
<td>
@Html.DisplayFor(modelItem => item.Date)
</td>
<td>
@Html.RenderAction("ویرایش","index", stepofidea, new { id=item.Id }) |
</td>
<td>
@Html.ActionLink("ویرایش", "Edit", new { id=item.Id }) |
@Html.ActionLink("نمایش", "Edit", new { id=item.Id }) |
@Html.ActionLink("حذف", "Delete", new { id=item.Id })
</td>
</tr>
}
</table>
在这一行
@Html.RenderAction("ویرایش","index", ????, new { id=item.Id }) |
我想重定向到 stepOfIdea 控制器的索引操作并传递一个值。但上面一行不起作用。
答案 0 :(得分:3)
我认为你把翻译中的一些术语与英语混淆了,你实际想要的是创建一个<a href="">Link</a>
来传递一个变量。
您可以通过以下方式简单地完成此操作:
@Html.ActionLink("ویرایش", "Index", "StepOfIdea", new { id = item.Id }, null)
这将创建HTML:
<a href="http://example.com/StepOfIdea/Index/5">ویرایش</a>