【问题标题】:asp.net passing an id between views in different controllersasp.net 在不同控制器中的视图之间传递 id
【发布时间】:2016-10-21 03:31:32
【问题描述】:

所以我有两个具有一对多关系的模型。标注和轮班报价。标注可以有很多班次优惠。

我想将我的 callout_id 传递给 shift-offer 控制器。我通过如下修改 Index() 方法来做到这一点:

    public async Task<ActionResult> Index(long? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            Debug.WriteLine("Callout ID cannot be null");
        }
        var shift_Offers = db.Shift_Offers.Where(s => s.callout_id_fk == id);
        return View(await shift_Offers.ToListAsync());
    }

我还修改了我的一个 HTML 操作链接以调用不同的页面:

@Html.ActionLink("View Callout", 
                "Index", 
                "ShiftOffer", 
                new { area = ""}, 
                new { id=item.callout_id_pk }) |

但问题是,当我尝试调用 Index(long id) 时,它会抛出错误的请求错误。为什么没有像使用默认脚手架链接那样传递我的 ID?

【问题讨论】:

  • 您使用的是哪个版本的 MVC?
  • MVC 5 Asp.net 4.6.1

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


【解决方案1】:

试试下面

@Html.ActionLink("View Callout", 
                "Index", 
                "ShiftOffer", 
                new { id=item.callout_id_pk }, 
                new { area = ""})

【讨论】:

  • 作为参数传递时,路由值优先于 htmlArguments。搜索 ActionLink 参考。
  • 谢谢,我会的。我一直发现 MSDN 文档很难导航。我习惯了简单易用的 javadocs。
猜你喜欢
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
相关资源
最近更新 更多