您可以使用ViewModel
类来传输数据:
public class IndexViewModel
{
public string MainNav { get; set; }
public string SubNav { get; set; }
public IndexViewModel(string mainnav, string subnav)
{
this.MainNav = mainnav;
this.SubNav = subnav;
}
}
您的操作方法随后出现
public ActionResult Index(string mainnav, string subnav)
{
return View(new IndexViewModel(mainnav, subnav));
}
这意味着您的视图必须是强类型的:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<YourNameSpace.IndexViewModel>" %>
你的视图中,你像这样输出数据:
myobj.mainnav = <%: Model.MainNav %>;
如果你使用MVC3,另一种解决方案是使用动态的ViewBag
:
public ActionResult Index(string mainnav, string subnav)
{
ViewBag.MainNav = mainnav;
ViewBag.SubNav = subnav;
return View();
}
这将在页面中以如下方式访问:
myobj.mainnav = <%: ViewBag.MainNav %>;
不过,我建议你阅读关于不侵入式JavaScript的内容,并尝试改进你的设计,避免这个具体的问题。