剑道 UI 抛出 CS1593:委托“System.Action”不接受 1 个参数

Posted

技术标签:

【中文标题】剑道 UI 抛出 CS1593:委托“System.Action”不接受 1 个参数【英文标题】:Kendo UI throwing CS1593: Delegate 'System.Action' does not take 1 arguments 【发布时间】:2015-06-12 00:06:45 【问题描述】:

这是一段可以工作但现在不行的代码块。我正在为 MVC 使用 Kendo UI。错误是

CS1593:委托“System.Action”不接受 1 个参数。

这是一个较旧的网站;打开并运行显示工作版本为 VS2010,我确实更新了 Kendo 和 MVC,但不在这个项目中。有什么想法吗?

@(html.Kendo().Window()
    .Name("Window")
    .Title("Results")
    .Content(@<text><div class="Result"></div></text>).Draggable()
                                    .Resizable()
                                    .Visible(false)
                                    .Width(450)
                                    .Actions(actions => actions.Minimize().Maximize().Close())
                                    )

【问题讨论】:

【参考方案1】:

我找到了答案。 我已经从 MVC3 更新到 MVC4 此更新将打破 3 方控制

请阅读这部分的发行说明 http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253815

部分:安装 ASP.NET MVC 4 会破坏 ASP.NET MVC 3 RTM 应用程序。

本节中的第 3 项是不存在的。更正后,一切正常。

【讨论】:

【参考方案2】:

如果这对其他人有用,我发现

CS1593:委托“System.Action”不接受 1 个参数。

对于传递给Content 方法的函数中的错误,

可能有点“包罗万象”。

在我的例子中,我使用的是Kendo.Mvc.UI.Fluent.SplitterPanBuilder(它的方法签名为public SplitterPaneBuilder Content(Func&lt;object, object&gt; content);),错误来自我更改了使用的类的命名空间但没有更新它。

为了更好地说明这一点,这里是一些导致错误的(伪)代码

verticalPanes.Add()
  .Content
  (
        @<div class="pane-content" id=@panelName>
          @(Html.Kendo().Grid<OldInvalidNameSpace.Person>().Name(reportGridName))
        </div>
  )

改成这样:

verticalPanes.Add()
  .Content
  (
        @<div class="pane-content" id=@panelName>
          @(Html.Kendo().Grid<NewValidNameSpace.Person>().Name(reportGridName))
        </div>
  )

解决了。

在我看来,这个错误确实有助于查明原因,但也许知道这会对其他人有所帮助!

【讨论】:

【参考方案3】:

对我来说,问题是我在 Content() 中使用了模型中不存在的模型项。这也触发了 CS1593 错误。

【讨论】:

以上是关于剑道 UI 抛出 CS1593:委托“System.Action”不接受 1 个参数的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Lua 调用 C# 委托,委托可以抛出异常

CS1061: “System.Web.UI.HtmlControls.HtmlForm”不包含“Text”的定义,并且找不到可接受类型为

剑道 UI 类型 开源 UI 免费

如何隐藏网格标题剑道ui?

如何找到剑道ui以前的文件?

剑道 UI MVC 密码