Asp.net mvc 创建asp.net MVC自定义控件

Asp.net mvc 创建asp.net MVC自定义控件,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我目前正在将我们的一个WPF应用程序迁移到MVC,作为概念证明——我们有很多自定义控件 我希望你们能帮助我的是一些关于如何开始的资源,以及如何准确地为高级事物构建这些资源 到目前为止,我已经环顾了四周,似乎您可以使用扩展方法来呈现您的HTML—这一切都很好 这是我的第一个场景-任何建议、提示、资源和帮助都将是精彩的 搜索提供程序:这不仅仅是一个自动完成框,它还有触发模式视图等的高级选项。。我需要的是能够将它绑定到视图模型上的一个对象..类似这样的东西 @Html.SearchPr

我目前正在将我们的一个WPF应用程序迁移到MVC,作为概念证明——我们有很多自定义控件

我希望你们能帮助我的是一些关于如何开始的资源,以及如何准确地为高级事物构建这些资源

到目前为止,我已经环顾了四周,似乎您可以使用扩展方法来呈现您的HTML—这一切都很好

这是我的第一个场景-任何建议、提示、资源和帮助都将是精彩的

搜索提供程序:这不仅仅是一个自动完成框,它还有触发模式视图等的高级选项。。我需要的是能够将它绑定到视图模型上的一个对象..类似这样的东西

        @Html.SearchProviderFor(model => model.NameObject, "NameSearch");
希望-这将使用搜索提供程序将返回的复杂对象更新模态

“For”扩展的最佳方式是什么?如何最好地创建不“像那样显示”的自定义控件

如果这个问题有点模糊,我很抱歉,但我希望你们能理解

干杯。
ste.

扩展方法很好,但如果我们谈论的是大量html/css/js工作,您可能应该转而关注自定义类型编辑器,我在这里讨论:

@Html.EditorFor(m => m.NameObject)
然后创建一个EditorTemplates文件夹,并创建一个与NameObject类型同名的视图

请看这里:

“For”表示扩展正在处理一个属性,而不仅仅是一个值。下面是一个扩展方法的示例,用于:

public static String IdFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression) { ... }
公共静态字符串IdFor(此HtmlHelper html,表达式){…}