【问题标题】:how to pass id into dynamic actionlink如何将 id 传递给动态操作link
【发布时间】:2014-08-07 03:21:34
【问题描述】:

我正在尝试一次一页地通过书页进行分页。我使用 itextsharp 从 pdf 文件的页面中获取文本。默认情况下会显示第一页,然后用户可以单击链接进入下一页:

@html.ActionLink("Page","index","home",new {id=4},null)

我希望动态设置 id 值:在这种情况下,每次点击都会将 id 值增加一个,以便检索并显示下一页。 我还想要一个反向链接,每次点击都会减少 id。 我试图在索引操作中这样做:

ViewBag.ID=id++

然后将 ViewBag.ID 插入

@html.ActionLink("Page","index","home",new {id=@ViewBag.ID},null)

但这不起作用。

【问题讨论】:

  • 请发布您的 Index() 方法代码
  • 您的方法没有问题,但如果id=4ViewBag.ID = id++; 也等于4 - id++ 是一个后增量运算符 - 如果你想要它应该是ViewBag.ID = ++id;等于 5
  • 你是对的斯蒂芬!但是我创建了具有下一个和上一个属性的模型书;然后在 index action 中分别为它们分配 id+1 和 id-1 然后在 html.Actionlink("
  • 好 - 使用视图模型比 ViewBag 好得多

标签: asp.net-mvc html.actionlink


【解决方案1】:

我怀疑你遇到的问题和this question一样。

另外,我希望您通过ViewBag.ID 循环并将id 分配给链接。我的问题是为什么我们在这里需要ViewBag。您可以立即分配。如下图...

@Html.ActionLink("Back To Blog","Blog","Home", new { id = id}, null)

你可以用MVCUrl.Action尝试另一种纯html方式:

<a href="@Url.Action("Blog", "Home", new { id = id })">Back To Blog</a>

为了更好地理解,请参阅您正在尝试的内容下方的帮助文本...

操作链接:

ActionLink(string linkText, string actionName, string controllerName, Object routeValues, Object htmlAttributes)

对于网址操作:

Action(string actionName, string controllerName, Object routeValues)

【讨论】:

    猜你喜欢
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2019-06-07
    相关资源
    最近更新 更多