Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Mvc助手调用_C#_Asp.net Mvc_Helpers - Fatal编程技术网

C# Mvc助手调用

C# Mvc助手调用,c#,asp.net-mvc,helpers,C#,Asp.net Mvc,Helpers,我正在编写一些自定义帮助程序,当前的一个涉及一种“datagrid控件”类型的帮助程序,我似乎遇到了一些障碍 如果我是在razor视图中,我可以使用类似于Html.EditorFor(someExpression)的东西,而我似乎无法在我的自定义助手中的助手代码上下文中找到这样做的方法 实际上,我试图从助手内部调用助手 下面是一个我能想到的最基本形式的例子: public static MvcHtmlString Test(dynamic Model) { return new MvcHt

我正在编写一些自定义帮助程序,当前的一个涉及一种“datagrid控件”类型的帮助程序,我似乎遇到了一些障碍

如果我是在razor视图中,我可以使用类似于Html.EditorFor(someExpression)的东西,而我似乎无法在我的自定义助手中的助手代码上下文中找到这样做的方法

实际上,我试图从助手内部调用助手

下面是一个我能想到的最基本形式的例子:

public static MvcHtmlString Test(dynamic Model)
{
   return new MvcHtmlString( Html.textBox(Model.SomeProperty) )
}
有什么想法吗

当我在代码中添加这样的using语句时,我发现这有多愚蠢

using Html = System.Web.Mvc.Html;

谈论简单的。。。自我提醒。。。注意框架

将助手方法改为扩展方法

public static MvcHtmlString Test(this HtmlHelper html, dynamic Model)
{
   return new MvcHtmlString( html.textBox(Model.SomeProperty) )
}

首先使用方法所在的名称空间(类where),然后使用
Html.Test(Model)

将helper方法改为扩展方法

public static MvcHtmlString Test(this HtmlHelper html, dynamic Model)
{
   return new MvcHtmlString( html.textBox(Model.SomeProperty) )
}
首先使用方法所在的名称空间(类所在的位置),然后使用
Html.Test(Model)