JinYazhou +

asp.net core select标签设置默认值问题

被asp.net core下的select标签设置默认值(中文及中文符号)问题困扰了两天。

asp.net core的select不支持<option value="@product.Id" @(Model.productId==product.Id ? "selected" : "")>@product.ProductName</option>这种写法,会提示“缺少特性名称”。如果value中不含中文,可以用下面这段JS暂时处理下:

function select(optionID) {

            var all_options = document.getElementById("productId").options;

            for (i = 0; i < all_options.length; i++) {

                if (all_options[i].value == optionID)

                {

                    all_options[i].selected = true;

                }

            }

        };

select("@Model.productId");

但如果包含中文,中文会被强制escape,而且用js的unescape反编码也不可以。

直到刚刚在stackoverflow上找到了解决方案:

<!option value="@product.Id" @(Model.productId==product.Id ? "selected" : "")>@product.ProductName</!option>
看来完全不了解TagHelper :(

https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro?view=aspnetcore-2.1

最新评论