MVC6 ViewComponents简单示例结果"无法找到' Invoke'匹配参数的方法。"

时间:2015-07-10 22:16:13

标签: c# asp.net asp.net-mvc asp.net-core-mvc

我试图从最简单的意义上找出新的ViewComponents功能,但我遇到了麻烦,缺乏文档也无济于事。

我的第一个目标是使用字符串列表调用我的ViewComponent并显示它们。

我能找到的关于ViewComponents的字面上唯一的指南就在这里,我到目前为止的所有内容都是基于:http://www.asp.net/vnext/overview/aspnet-vnext/vc#intro

我只想显示我在invoke方法中传递给它的字符串列表,但似乎无法让invoke方法在第一时间工作。

我的文件夹/文件结构是:

enter image description here

我非常简单的代码如下:

VcExampleViewComponent.cs

using Microsoft.AspNet.Mvc;

namespace Mvc6Example3.ViewComponents
{
    public class VcExampleViewComponent : ViewComponent
    {
        public VcExampleViewComponent()
        { 
        }

        public IViewComponentResult Invoke(string[] strArr)
        {
            return View(strArr);
        }
    }
}

Default.cshtml (ViewComponent应呈现的内容)

@Model String[]

<h3>Strings passed in:</h3>
@foreach (String str in Model)
{
    <span>@str</span>
}

Index.cshtml (调用ViewComponent的地方)

@{
    ViewBag.Title = "Home Page";
}

<div class="jumbotron">
    <h1>ViewComponent Example</h1>
</div>

@Component.Invoke("VcExample", new String[]{"hello", "hola", "bonjour" })

我得到的错误是:

  

500内部服务器错误

     

System.InvalidOperationException

     

无法找到&#39;调用&#39;匹配参数的方法。

     

at Microsoft.AspNet.Mvc.ViewComponents.DefaultViewComponentInvoker.Invoke(ViewComponentContext context)   在Microsoft.AspNet.Mvc.ViewComponents.DefaultViewComponentHelper.InvokeCore(TextWriter writer,ViewComponentDescriptor descriptor,Object [] arguments)   在Microsoft.AspNet.Mvc.ViewComponents.DefaultViewComponentHelper.Invoke(String name,Object [] arguments)   在/Views/Home/Index.cshtml:line 9中的Asp.ASPV__Views_Home_Index_cshtml.d__13.MoveNext()

这可能是一件非常微不足道的事情,我只是忽略了但似乎无法找到它。谢谢你的帮助!

0 个答案:

没有答案