• 【c# mvc】关于@Html. DropDownListFor() 或@Html.EnumDropDownListFor() 设置disabled="disabled" post绑定不了值问题。


    问题记录:

    问题描述:C# MVC @Html. DropDownListFor() @Html.EnumDropDownListFor() 禁止不可选

    Post 提交表单不会绑定值问题(赋不到值)。

    问题:想要在添加数据的时候要把指定的字段通过其他的方式动态赋值,让该元素的不能被选择。

    这边假设要赋值属性为TestType

    @Html.DropDownListFor(m=>m.TestType,....,new{disabled="disabled"})

    @Html.EnumDropDownListFor(m=>m.TestType,....,new{disabled="disabled"})

    说明:

    试错方法一:本来是想可以直接给htmlAttribute 中添加一个 disabled=”disabled”, 就可以直接不能选,但是出现问题就是 post提交的时候值绑定不到Model上

    试错方法二:@readyOnly=true 但是下拉框还是可以下拉 所以也没达到自己的效果。

    试错方法三:也试了在前面或后面加一个@Html. HiddenFor(m=>m.TemplateType) 把这个元素加到前面是可以赋值了,但是显示出来的@Html. DropDownListFor() 或@Html.EnumDropDownListFor()赋值不到 

    说明:原先试了好几种方式都不能赋值,然后在Stackoverflow 中看到了一个解决方案

    https://stackoverflow.com/questions/1636103/html-dropdownlist-disabled-readonly#

    解决方法:通过@readOnly=true和css 来处理了这个问题

    步骤一:将类型属性设置为@readOnly=true

    步骤二:给这个值设定为:pointer-events:none

    这句的作用是 元素永远不会成为鼠标事件的target

    最后:如果你有其他的解决方案可以在评论区分享一下。

  • 相关阅读:
    Stock Transfer I
    Negative Stock in "Stock in Transit"
    ZFINDEXITS
    Plan Driven Procurement III: Classic Scenario in SRM 5.0
    C++builder 创建进程之CreateProcess函数
    常用DOS命令
    【转】程序员的几个级别
    几本书
    OOP SOLID原则
    SSRS 使用总结
  • 原文地址:https://www.cnblogs.com/SignX/p/10989002.html
Copyright © 2020-2023  润新知