繁体   English   中英

如何将数据从控制器传递到ASP.NET MVC 4的几个视图?

[英]how to pass data from a controller to several views asp.net mvc 4?

希望问题范围不会太大,基本上,我要做的就是从控制器ActionResult中获取一个数字(int)并将该数字传递给我的所有视图。 我知道这与添加AllowAnonymous标签有关,但是它应该是带有返回视图的ActionResult吗? 另外在视图中怎么称呼它? 类似于=“ @ 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>

邮件控制器中的ActionResult

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

        };
    }

我不确定我是否取消需求,但是如果您只需要从View的Controller中获取一些int值,则可以使用ViewBag来实现此目的:

在ControllerAction中:

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM