重定向到期望其他控制器中的值的操作

时间:2014-06-10 14:19:14

标签: asp.net-mvc

我有一个控制器 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 控制器的索引操作并传递一个值。但上面一行不起作用。

1 个答案:

答案 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>