Вы используете класс 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" %>
В вашем представлении вы выводите данные следующим образом:
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 и посмотрите, можете ли вы улучшить свой дизайн, чтобы избежать этой конкретной проблемы.