在ASP.Net MVC中将控制器传递给视图的问题

时间:2016-09-23 05:58:35

标签: asp.net-mvc

我遇到了将string参数从控制器传递到我所拥有的控制器中的问题:

namespace Map02.Controllers
{
    public class AppController : Controller
    {

        public ActionResult Index(string name)
        {
            string str = name;
            return View(str);
        }

    }
}

并且我认为:

@model string
@{
    ViewBag.Title = "";
}

<h2>AppContent</h2>

<p>@str</p>

但是我收到了这个错误:

enter image description here

1 个答案:

答案 0 :(得分:4)

要将字符串作为模型传递给视图,您可以执行以下操作:

public ActionResult Index()
{
    string str = name;;
    return View((object)str);
}

您必须将其强制转换为对象,以便MVC不会尝试将字符串作为视图名称加载,而是将其作为模型传递。你也可以写:

return View("Index", str);

然后在您的视图中,只需将其键入字符串:

 @model string
@{
    ViewBag.Title = "";
}

<h2>AppContent</h2>

<p>@Model</p>