【问题标题】:is there a way that I can pass just an integer to my view without creating a model in mvc有没有一种方法可以只将一个整数传递给我的视图,而无需在 mvc 中创建模型
【发布时间】:2019-06-20 12:50:43
【问题描述】:

我有一个调用视图的控制器。有没有办法我可以只将一个整数传递给我的视图,并且能够在我的视图中使用剃刀代码使用该整数?

这是我在控制器中的方法:

public ActionResult Details(int linkableId)
{
    return View(linkableId);
}

返回我的视图后,我可以使用类似这样的剃须刀代码访问这个 int 吗:

@linkableId

【问题讨论】:

  • 使用动态集合ViewBag 在控制器中:ViewBag.linkableId = 123123 在视图中:@ViewBag.linkableId

标签: c# asp.net-mvc


【解决方案1】:

在您的视图中,在最顶部:

@model Int32

或者您可以使用 ViewBag。

ViewBag.LinkableId = intval;

【讨论】:

  • 当只有一个不需要视图模型的视图传递到视图时,我倾向于使用ViewBag 方法。就像上面的例子一样,这使视图更具可读性,这意味着我可以看到 @model 的真正含义,而无需将其追溯到控制器以查看在此示例中它是 LinkableId。
【解决方案2】:

使用ViewBag

public ActionResult Details(int linkableId)
{
    ViewBag.LinkableId = linkableId;
    return View();
}

然后在你看来:

@ViewBag.LinkableId 

这个问题也可能有帮助: How ViewBag in ASP.NET MVC works

【讨论】:

  • 我从来都不是 Viewbags 的粉丝,因为它们只是你可以放入任何东西的黑洞。但它们非常易于使用。
【解决方案3】:

在您的视图中,位于最顶部:

@model Int32

然后在你的视图中使用它,应该没有问题。例如:

<h1>@Model</h1>

我想补充的是你的控制器,你应该这样说:

return View(AnIntVariable);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 2012-08-10
    • 2017-12-16
    • 2020-08-25
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多