如何将数据从控制器传递到 MVC 4 asp.net 多个视图

本文关键字:asp MVC net 视图 数据 控制器 | 更新日期: 2023-09-27 18:33:39

希望问题范围不要太广,基本上,我要做的只是从控制器 ActionResult 中获取一个图形(int),并将该数字传递到我的视图中。我知道这与添加允许匿名标签有关,但是它应该是带有返回视图的操作结果吗?另外,在视图中如何称呼它?类似于 ="@Url.Action("GetFigure")

使用 razor2 视图的 Asp.ner MVC 4 应用程序

谢谢大家

在我的布局中,没有链接到它的模型或控制器。

 <li class="@Html.ActiveTab("Mail")" id="mun2">
                <a href=@Url.Action("Index","Mail")>
                <i class="icon-envelope"></i> 
                <span class="badge badge-important">0</span>
                    <span class="title">Mails</span>
                    <span class="selected"></span>
                </a>
            </li>

邮件控制器中的操作结果

  [AllowAnonymous]
  public MailCount GetMailCount()
    {
        return new MailCount 
        {
            NewCount = _repo.GetAll().Where(x => x.Status.Equals((int)MialStatus.New)).Count(),
        };
    }

如何将数据从控制器传递到 MVC 4 asp.net 多个视图

我不确定我是否解开了你想要什么,但是如果你只需要从 View 中的控制器获取一些 int 值,你可以使用 ViewBag 来做这个 porpose:

在控制器操作中:

int figure = 2;
ViewBag.myfigure = figure;

在视图中:

@ViewBag.myfigure

如果这不是您想要的,那么请更详细地解释您的问题。

编辑:如果要将数据传递到布局,可以使用PartialView:

在控制器中:

public ActionResult Menu()
{
  int figure = 2; //get your number of mails instead 2
  ViewBag.myfigure = figure;
  return PartialView();
}

在菜单部分视图中:

<span>number of mails = @ViewBag.myfigure</span>

在您的洗衣房中:

@{Html.RenderAction("Menu", "Home")}

已编辑 2

在控制器中:

public ActionResult Menu()
{
  int figure = 2; //get your number of mails instead 2
  return PartialView(figure);
}

在菜单部分视图中:

 @model int
<span>number of mails = @Model</span>