介绍
本篇文章给大家分享的是有关ASP。网络核心MVC怎么对枚举进行绑定,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
我们首先给出要绑定的枚举类。
<>强绑定方式二(@Html。EnumDropDownListFor) 强>
此时我们需要借助强类型视图来操作,如下控制器代码
[HttpGet] 公共IActionResult Get () { var=new TestViewModel测试(); 返回视图(测试); }
然后视图代码:
,代码如下:@Html。EnumDropDownListFor(模型=比;模型。语言,htmlAttributes:新{@class=癴orm-control"})然后你会发现在ASP。净Core MVC中没有此方法的实现了,具体如下:
@Html.GetEnumSelectList ()
那么此时我们的视图代码就演变成了如下所示。
@ { 布局=零; } & lt; !DOCTYPE html> @using WebApplication1.Enums & lt; html> & lt; head> & lt;元名称=皏iewport"内容=翱矶?device-width"/比; & lt; title> Index & lt;/head> & lt; body> @Html.GetEnumSelectList (typeof(语言) & lt;/body> & lt;/html>
哦,狗屎,返回的是SelectListItem,看来没用对,最终尝试搞出了下面的方法
@ { 布局=零; } & lt; !DOCTYPE html> @using WebApplication1.Enums & lt; html> & lt; head> & lt;元名称=皏iewport"内容=翱矶?device-width"/比; & lt; title> Index & lt;/head> & lt; body> & lt;选择asp-items=癅Html.GetEnumSelectList (typeof(语言))“祝辞& lt;/select> & lt;/body> & lt;/html>
这才是我们最终想要的,我们完全不需要借助强类型视图来实现,有专门针对枚举的方法,简单粗暴,但是要记住千万别再选择上加上asp-for=?“选项,否则会出现如下错误,这个没在研究了,估计和强类型视图绑定有关
{ (显示(Name=靶陆ā?) 创建、 (显示(Name=暗却Ц丁?) WaitPay, (显示(Name=暗却Ц度啡稀?) WaitConfirm, (显示(Name=爸Ц冻晒Α?) 成功了, (显示(Name=爸Ц妒О堋?) 失败了, (显示(Name=拔扌柚Ц丁?) NoPay }
此时我们依然借助上述方法来实现,如下只是修改一下枚举类型即可。