我有两个@Html.ActionLink,一个可以工作,另一个不能,我不知道为什么?
它们都在同一个控制器中: StoreController,并且都在不同的控制器中调用ActionResults,这是在Director类中工作并调用索引函数的那个控制器:
<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>
}
这是一个不起作用的:
@foreach (var item in Model) {
@Html.ActionLink("Check Availability", "CheckAvail", "Booking", new { id = item.ShowId })}
当我想让它在StoreController中调用CheckAvail函数时,它会在BookingController中调用。然而,当我这样修改它时,它确实起作用了:
@foreach (var item in Model) {
@Html.ActionLink("Check Availability", "CheckAvail", "Booking")}但我需要它通过ShowId访问函数?
发布于 2012-04-24 21:28:52
像这样使用它
@Html.ActionLink("Check Availability", "CheckAvail", "Booking", new { @id = item.ShowId },null)它正在使用这个重载
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
@Html.ActionLink("Check Availability", "CheckAvail", "Booking", new { @id = item.ShowId },new { @class="myCssClass"} )https://stackoverflow.com/questions/10298823
复制相似问题