【问题标题】:Pass route data from View to controller MVC将路由数据从 View 传递到控制器 MVC
【发布时间】:2017-12-04 23:18:43
【问题描述】:

伙计们!我是 Asp.net MVC 5 的新手,我想创建一个带有公告的网站。我将带有公告的列表传递给 View,然后用 @foreach 显示它们。 现在,我放了一个“显示详细信息”以显示该公告的更多详细信息。我该怎么做?

    @foreach (var a in @ViewBag.Ann)
{
    <div class="jumbotron">
        <h2>@a.Title</h2>
        <h3>@a.CategoryName</h3>
        <p hidden>@a.Id</p>
        <a href="#">Show Details</a>

    </div>

}

我如何创建一个带有公告 ID 的链接?

【问题讨论】:

  • 使用 ajax 调用一个控制器,该控制器返回附加细节的部分视图并将其添加到 DOM 中
  • 好的,但是我将如何从我按“显示详细信息”的公告中获取确切的 ID?
  • 将其添加为链接中的data- 属性并将其提取到您的.click() 处理程序中(不需要您的&lt;p hidden&gt;@a.Id&lt;/p&gt; 元素)
  • 你能给我举个例子吗?
  • &lt;a href="#" class="showdetails" data-id="@a.Id"&gt;Show Details&lt;/a&gt;$('.showdetails').click(function({ $.get(yourUrl, { id: $(this).data('id') }, function(data) { // update DOM }); });(你至少需要自己努力)

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-5


【解决方案1】:
    @foreach (var a in @ViewBag.Ann)
{
    <div class="jumbotron">
        <h2 >@a.Title</h2>
        <h3>@a.CategoryName</h3>

        <a href="ShowDetails/@a.Id">Show Details</a>

    </div>

}

现在工作..谢谢你们!

【讨论】:

  • 如果你想重定向,为什么不直接@Html.ActionLink("ShowDetails", "ShowDetails", new { id = a.Id })
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
  • 2014-04-02
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
相关资源
最近更新 更多