Razor 转义数据属性中的单引号
Razor escaping single quotes in data attributes
我正在尝试让 Razor 显示一个带有 data_bind 属性的下拉列表,用于淘汰
所以从
开始
@Html.DropDownListFor(model => model.Form.selectedItem, Model.empty, new
{
@class = "multiselected"
})
我已经尝试了多种方法来使用字典对象添加数据
{ "data_bind" , MvcHtmlString.Create("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'") }
这个
"data_bind" = MvcHtmlString.Create("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'")
"data_bind" = Html.Raw("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'")
"data_bind" = Html.Raw(MvcHtmlString.Create("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'"))
无论我尝试什么,单引号都会更改为 '
。给出了什么?
编辑
事实证明,knockout 不介意引号,仍然可以绑定。
其他问题与敲除和数据属性无关。在 list/input 个元素中。
即使 html 中的单引号被转义,这也不会影响绑定,绑定会将它们正确地视为单引号。
ko.applyBindings({
options: [{ name: 'first one', id: '1' },
{ name: 'second one', id: '2' },
{ name: 'third one', id: '3' }]
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script>
<select data-bind="options: options, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'">
</select>
我正在尝试让 Razor 显示一个带有 data_bind 属性的下拉列表,用于淘汰
所以从
开始 @Html.DropDownListFor(model => model.Form.selectedItem, Model.empty, new
{
@class = "multiselected"
})
我已经尝试了多种方法来使用字典对象添加数据
{ "data_bind" , MvcHtmlString.Create("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'") }
这个
"data_bind" = MvcHtmlString.Create("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'")
"data_bind" = Html.Raw("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'")
"data_bind" = Html.Raw(MvcHtmlString.Create("options: optionSelected, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'"))
无论我尝试什么,单引号都会更改为 '
。给出了什么?
编辑
事实证明,knockout 不介意引号,仍然可以绑定。 其他问题与敲除和数据属性无关。在 list/input 个元素中。
即使 html 中的单引号被转义,这也不会影响绑定,绑定会将它们正确地视为单引号。
ko.applyBindings({
options: [{ name: 'first one', id: '1' },
{ name: 'second one', id: '2' },
{ name: 'third one', id: '3' }]
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script>
<select data-bind="options: options, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'">
</select>