当前位置: 首页 > 编程语言 > C#

在ASP.NETMVC中扩展HiddenFor模板分享

时间:2023-04-10 12:38:31 C#

在ASP.NETMVC中扩展HiddenFor模板我觉得Html.HiddenFor可以使用Html.DisplayFor或Html.EditorFor等模板。不幸的是,该方法不像其他方法那样接受TemplateName。我知道,解决方案是将DisplayFor/EditorFor模板与HiddenFors一起使用。但我想了解如何扩展Html.HiddenFor方法。任何人?问候您似乎被错误的类比误导了。HiddenFor与标记完全对应。就像TextBoxFor、CheckBoxFor等一样。这些方法不是为使用模板而设计的。EditorFor、DisplayFor/EditorFor旨在与项目中定义的模板一起使用。因此,开箱即用是不可能的。但是,您始终可以使用您可能需要的任何参数集和逻辑为HiddenFor定义自己的重载。有一个重载接受附加参数htmlAttributes。您可以使用它向生成的标记添加一些属性。第二种方法是在其中一个文件夹中创建剃刀局部视图~/Areas/AreaName/Views/ControllerName/DisplayTemplates/TemplateName.cshtml~/Areas/AreaName/Views/Shared/DisplayTemplates/TemplateName.cshtml~/Views/ControllerName/DisplayTemplates/TemplateName.cshtml~/Views/Shared/DisplayTemplates/TemplateName.cshtml名称是HiddenInput.cshtml这就是你所做的,你将它创建为编辑器模板,因为正如安德烈指出的那样,HiddenFor相当于TextBoxFor和辅助方法比如CheckboxFor。你可能也想要一个真正的编辑器,所以把你真正的编辑器放在~/Shared/EditorTemplates中。我们将把我们的“隐藏编辑器”放在你想要使用它的控制器下面。~/Views/ControllerName/EditorTemplates/ModelName.cshtml假设我们有一个Person模型。publicclassPerson{publicstringFirst{get;放;}publicstringLast{get;放;}}我们将创建一个分部视图。@ModelPerson@Html.HiddenFor(p=>p.First);@Html.HiddenFor(p=>p.Last);然后我们假装我们有一个包含Person作为属性的模型。从我们的主要观点来看,我们称它为“隐藏的编辑器”。@ModelFoo@Html.EditorFor(f=>f.Person)一个容易看腻的柠檬汁。有点hacky,但它就像一个魅力。以上就是C#学习教程:ExtendingtheHiddenFortemplatesharinginASP.NETMVC。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: