【发布时间】:2016-03-15 14:59:12
【问题描述】:
我有一个 Razor 页面,它允许用户将可变数量的与会者添加到会议对象中。在页面上,有一个“添加与会者”按钮,用于将文本框插入页面并增加下标,以便模型绑定器可以拾取它。
$('#addInternalAttendee').on('click', function () {
$('#internalAttendees').append(
'<div class=\'attendee\'>' +
'<input type=\'text\' name=\'Attendees[' + x + ']\' class=\'form-control\' />' +
'</div>'
);
++x;
});
这件作品很好。我现在要做的是添加一个下拉框来选择与会者的角色。
var ddb = '@Html.DropDownList("AttendeeRoleIds[*]", (SelectList)ViewBag.EventAttendeeRoleId, htmlAttributes: new { @class = "form-control", })';
我遇到的问题是 HTML 包含未正确转义的双引号,因此渲染页面上的函数主体如下所示:
$('#addInternalAttendee').on('click', function () {
var ddb = '<select class="form-control" id="AttendeeRoleIds___" name="AttendeeRoleIds[*]"><option value="1">Host/Organizer</option>
<option value="2">Note Taker</option>
<option value="3">Supervising Manager</option>
<option value="4">Attendee (Participating)</option>
<option value="5">Attendee (Non-Participating)</option>
</select>';
ddb = ddb.replace('\"', '\'');
$('#internalAttendees').append(
'<div class=\'attendee\'>' +
'<input type=\'text\' name=\'Attendees[' + x + ']\' class=\'form-control\' />' +
ddb +
'</div>'
);
++x;
});
有没有办法将此 HTML 正确转义到 jquery 函数的主体中以便可以呈现?
【问题讨论】:
-
我有类似的情况,使用 @Html.Raw() 后,代码工作正常。尝试:@Html.Raw(@Html.DropDownList("AttendeeRoleIds[*]", (SelectList)ViewBag .EventAttendeeRoleId, htmlAttributes: new { @class= "form-control", }))
标签: javascript c# jquery asp.net-mvc razor