如何将数据从控制器传递到几个视图asp.net mvc 4?

时间:2013-10-03 11:31:46

标签: c# asp.net-mvc 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(),

        };
    }

1 个答案:

答案 0 :(得分:1)

我不确定我是不是想要你想要什么,但如果你只是需要从View中获取一些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>