是否可以在ASPX模式下使用ViewBag设置页面标题?

Bru*_*oLM 5 asp.net-mvc asp.net-mvc-3

我有一个名为的母版页Default.master.我想用标题设置ViewBag.Title.在我的控制器上我有:

public ActionResult Index()
{
    ViewBag.Title = "Home";
    return View();
}
Run Code Online (Sandbox Code Playgroud)

我的Home视图用Default.master作主视图页面.在我正在使用的主视图页面上:

<title><%= ViewBag.Title %></title>
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

The call is ambiguous between the following methods or properties: 'System.IO.TextWriter.Write(string, params object[])' and 'System.IO.TextWriter.Write(char[])'
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确使用它?

san*_*oIT 7

尝试:

<title><%= (string) ViewBag.Title %></title>
Run Code Online (Sandbox Code Playgroud)


Bru*_*oLM 7

这篇博文中,我看到了一种我以前从未见过的语法:

<%: %>
Run Code Online (Sandbox Code Playgroud)

这会打印一个表达式,所以使用:

<%: ViewBag.Title %>
Run Code Online (Sandbox Code Playgroud)

我得到了正确的价值.

  • 虽然这是一个正确的语法,但它与所述的问题没有任何关系...... (2认同)
  • @Oskar问题是在aspx模式下使用ViewBag的一种方法.这就是方式,那么怎么解决这个问题呢? (2认同)