首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Html.ActionLink one工作正常,而另一台不工作

@Html.ActionLink one工作正常,而另一台不工作
EN

Stack Overflow用户
提问于 2012-04-24 21:26:13
回答 1查看 3.7K关注 0票数 1

我有两个@Html.ActionLink,一个可以工作,另一个不能,我不知道为什么?

它们都在同一个控制器中: StoreController,并且都在不同的控制器中调用ActionResults,这是在Director类中工作并调用索引函数的那个控制器:

代码语言:javascript
复制
<ul>
@foreach (var item in Model)
{
    <li>
    <h2>@item.Title</h2>
    </li>
    <li class = "lihead">
    Directed by 
    @Html.ActionLink((string)item.Director.Name, "Index", "Director", new { searchString = item.Director.Name }, null)
    </li>
    <li>
    <i>@item.Synopsis</i>
    </li> 
    <li class = "lihead">
    Price per ticket £
    @item.Price
    </li>        
}

这是一个不起作用的:

代码语言:javascript
复制
 @foreach (var item in Model) {
        @Html.ActionLink("Check Availability", "CheckAvail", "Booking", new { id = item.ShowId })

}

当我想让它在StoreController中调用CheckAvail函数时,它会在BookingController中调用。然而,当我这样修改它时,它确实起作用了:

代码语言:javascript
复制
 @foreach (var item in Model) {
        @Html.ActionLink("Check Availability", "CheckAvail", "Booking")}

但我需要它通过ShowId访问函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-24 21:28:52

像这样使用它

代码语言:javascript
复制
@Html.ActionLink("Check Availability", "CheckAvail", "Booking", new { @id = item.ShowId },null)

它正在使用这个重载

代码语言:javascript
复制
public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    string controllerName,
    Object routeValues,
    Object htmlAttributes
)

http://msdn.microsoft.com/en-us/library/dd504972.aspx

最后一个参数是HTML属性。如果您有一些HTML属性要传递,那么就把它传递给那里,而不是null

代码语言:javascript
复制
@Html.ActionLink("Check Availability", "CheckAvail", "Booking", new { @id = item.ShowId },new { @class="myCssClass"} )
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10298823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档