将自定义 HTML Helper 添加到 MVC 项目

2023-11-22

我一直在浏览网页,试图找到一个很好的示例/教程,详细说明如何为我的 MVC 3 Razor 应用程序创建和使用我自己的自定义 HTML 帮助程序,我发现了这个示例/教程,如下所示

在 ASP.NET MVC 3 中添加您自己的 HtmlHelper

我已经创建了一个类(稍微精简了一下)

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Html;

namespace MyWebApp
{
    public static class ExtensionMethods
    {
         public static MvcHtmlString StateDropDownListFor<TModel, TValue>
                        (this HtmlHelper<TModel> html, 
                                        Expression<Func<TModel, TValue>> expression)
         {
             Dictionary<string, string> stateList = new Dictionary<string, string>()
             {
                {"AL"," Alabama"},
                {"AK"," Alaska"},
                {"AZ"," Arizona"},
                {"AR"," Arkansas"}

              };
              return html.DropDownListFor(expression, 
                       new SelectList(stateList, "key", "value"));
         }

     }
}

到目前为止,一切都很好,

在我的控制器内我还添加了参考

using System.Web.Mvc.Html;

现在在我看来我有以下内容

@Html.StateDropDownList(x => x.State)

但我收到以下错误

System.web.mvc.htmlhelper<system.collections.generic.list<Profile.ProfileImages>> does     not contain a definition for StateDropDownList and no extension method     StateDropDownList acception a first argument of type     system.web.mvc.htmlhelper<System.Collections.Generic.List<Profile.ProfileImages>> could be      found(Are you missing a using directive of an assembly reference?)

有人可以告诉我我在这里做错了什么吗?


您应该在视图中包含名称空间:

@using MyWebApp

或者您可以从 web.config 为所有视图导入此命名空间。

<system.web.webPages.razor>
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Optimization" />
      <add namespace="System.Web.Routing" />
      <add namespace="MyWebApp" />
    </namespaces>
  </pages>
</system.web.webPages.razor>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将自定义 HTML Helper 添加到 MVC 项目 的相关文章

随机推荐

  • 我们如何禁用 VS 2010 Intellisense

    我的 Visual Studio 2010 大多数时候都太慢了 所以我决定禁用vs2010 Intellisense 谁能帮我 对于 C C 工具 gt 选项 gt 文本编辑器 gt C C gt 高级 gt 禁用 IntelliSense
  • 列特征必须是 org.apache.spark.ml.linalg.VectorUDT 类型

    我想在 pyspark spark 2 1 1 中运行此代码 from pyspark ml feature import PCA bankPCA PCA k 3 inputCol features outputCol pcaFeature
  • jQuery UI 选项卡 - 如何获取当前选定的选项卡索引

    我知道这个具体问题已经之前问过 但我没有得到任何结果使用bind 事件于jQuery UI Tabs插入 我只需要index新选择的选项卡的 以便在单击该选项卡时执行操作 bind 允许我挂钩选择事件 但我获取当前选定选项卡的常用方法不起作
  • python scipy.stats.powerlaw 负指数

    我想为 scipy stats powerlaw 例程提供一个负指数 例如a 1 5 为了抽取随机样本 powerlaw pdf x a a x a 1 from scipy stats import powerlaw R powerlaw
  • Matlab实时绘图

    我是 matlab 新手 我想实时绘制一些数据 我的方法如下 figure hold on for i 1 1000 plot i i drawnow end 但其性能较差 我还在 stackoverflow 上找到了一个建议 https
  • 我可以在canvas元素中绘制表格吗?

    有没有什么方法 插件 工作解决方案等 来绘制HTML table into a
  • 使用 Objective-C 对字符串进行 URLEncoding

    我正在尝试对字符串进行 URL 编码以形成来自 Objective C 的 GET 请求 NSString params Decoded data foo bar baz NSRunAlertPanel Error params urlEn
  • 什么是应用程序加载器中的托管内容包?

    我想为我的应用程序启用应用程序内购买 购买类型是非消耗品我用 Apple 标记了主机内容 当我想通过 Apple 托管内容时 我需要提供托管内容包 我无法找到此内容包中应包含哪些内容的更多信息 但它不能大于 2GB 并且扩展名应该是 pkg
  • Java中字符串到二进制输出

    我想从字符串中获取二进制 011001 但我得到了 B addbf1 必须有一个简单的转换来做到这一点 但我没有看到它 public static String toBin String info byte infoBin null try
  • 可以在同一台机器上安装两个不同版本的Android Studio吗?

    我只有一台机器 Mac OS 10 9 5 我目前拥有 Android Studio 的金丝雀版本 但遇到了一些错误 所以我也想安装稳定版的Android Studio 有人这样做过吗 在同一台机器上安装多个版本是否有问题 是的 但您必须更
  • 如何为 binned_statistic 制作用户定义的函数

    我正在使用 scipy stats 包沿轴进行统计 但我在使用百分位统计时遇到问题binned statistic 我概括了下面的代码 我尝试在一系列 x bin 中获取具有 x y 值的数据集的第 10 个百分位数 但它失败了 我当然可以
  • Java 7 Update 25 的 rmi 线程中的 AppContext 为 null

    我们最近从 Update 21 更新到 Java 7 Update 25 并且现在在从 rmi 线程调用 SwingUtilities isEventDispatchThread 时遇到空指针异常 因为 AppContext getAppC
  • 7 段显示 OCR

    我正在使用 Tesseract 一个 OCR 库 构建一个 iOS 应用程序 拍照并在其上运行 OCR 并且它可以很好地处理书写良好的数字和字符 使用常用字体 我遇到的问题是 如果我在 7 段显示器上尝试 它会给出非常非常糟糕的结果 所以我
  • zend 文本元素中的占位符文本

    我正在开发一个 Zend 表单应用程序 其中我的表单包含带有水印的文本框 我们可以通过以下代码在 HTML 中实现这一点
  • 如何在wpf文本块中显示一行文本

    我是 wpf 的新手 我想在 wpf 文本块中的一行中显示文本 例如
  • .net 的替代 Oracle 驱动程序

    我必须用 C 开发一个工具来从 Oracle DB 检索一些数据 由于我们的 IT 支持人员在安装 Oracle 客户端时遇到了一些问题 因此我希望能够在不安装客户端的情况下连接到数据库 这个想法是只安装 也许注册 一个额外的库与应用程序一
  • 如何在 TypeORM 中查询数组

    我想创建用户权限管理 我将 TypeORM 与 PostgreSQL 结合使用 这是用户实体内权限的列定义 Column type text array true permissions UserPermission 这是UserPermi
  • 从 Bash 中的文件中读取行并将单词解析为 mailx 参数的变量

    我有一个 bash 脚本 它从 4 列 无标题 的文本文件中读取行 行数最多可以为 4 行或更少 每行中的单词由空格字符分隔 email protected email protected email protected Sub1 Mail
  • PyCharm IPython 控制台中的嵌入式图表

    有没有办法允许在 PyCharm 中激活的 IPython 控制台中嵌入 Matplotlib 图表 我正在寻找与 IPython 的 QT 控制台版本可以完成的类似行为 即ipython qtconsole matplotlib inli
  • 将自定义 HTML Helper 添加到 MVC 项目

    我一直在浏览网页 试图找到一个很好的示例 教程 详细说明如何为我的 MVC 3 Razor 应用程序创建和使用我自己的自定义 HTML 帮助程序 我发现了这个示例 教程 如下所示 在 ASP NET MVC 3 中添加您自己的 HtmlHe