剑道 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<object, object> 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 个参数的主要内容,如果未能解决你的问题,请参考以下文章
CS1061: “System.Web.UI.HtmlControls.HtmlForm”不包含“Text”的定义,并且找不到可接受类型为