简体   繁体   English

如何在文本字段中传递HTML编码字符串?

[英]How to by pass HTML encoding string in text fields?

I am setting a field in my HTML label from Viewbag which has a "'" in the text. 我在Viewbag的HTML标签中设置了一个字段,文本中有一个"'" when the HTML pulls up it shows ' 当HTML拉起时,它会显示' in place of "'" . 代替"'" How do I stop it from getting encoded? 如何阻止它被编码?

Please find the code below. 请在下面找到代码。

setting text fileds in the HTML view. 在HTML视图中设置文本文件。

$('#thStudentName').text('@ViewBag.Name'); $( '#thStudentName')文本( '@ ViewBag.Name')。

if (sessionData.data.EventDate2Def != '' || sessionData.data.EventDate2Def != null)
    $('#tdWhen').text(sessionData.data.EventDate1Def + ' and ' + sessionData.data.EventDate2Def);
else
    $('#tdWhen').text(sessionData.data.EventDate1Def);

$('#tdWhere').text(sessionData.data.FacilityName);
$('#tdLocated').text(sessionData.data.Address1 + ', ' + sessionData.data.City + ', ' + sessionData.data.State + ' ' + sessionData.data.Zip);
$('#tdPhone').text(sessionData.data.Phone);
$('#tdDirections').text(sessionData.data.Directions);
$('#tdRoom').text(sessionData.data.RoomNumber);

Populating a different section with Dynamic data. 使用动态数据填充不同的部分。

function populateSessionTable() { function populateSessionTable(){

    var count = 1;
    $('#SessionTable').html('');

    var tableContent = '';
    var record = '';

    var Sessions = sessionData.data.Sessions;

    tableContent = generateTableContent(count, Sessions[0].StartDateTimeDef);
    tableContent += '</tbody></table></div>';
    $('#SessionTable').html(tableContent);

    var radioStatus = '';

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

        var content = Sessions[i];

        radioStatus = '';



            if (content.Capacity == content.Registered || content.Closed)
                radioStatus = '<input disabled class="selected-session radio" name="SessionId" type="radio" value="' + content.SessionId + '">';
            else if (content.StartDateTimeDef == '@ViewBag.WorkshopDateDef' && t24to12Convert(content.StartTimeString) == t24to12Convert('@ViewBag.WorkshopTime'))
                radioStatus = '<input class="selected-session radio" checked name="SessionId" type="radio" value="' + content.SessionId + '">';
            else
                radioStatus = '<input class="selected-session radio" name="SessionId" type="radio" value="' + content.SessionId + '">';

            record += '<tr>';
            record += '<td class="session-schedule-table-btn">';
            record += radioStatus;
            record += '</td>';
            record += '<td class="session-schedule-table-session-number"> ' + content.Number + ' </td>';
            record += '<td class="session-schedule-table-session-start-time">' + t24to12Convert(content.StartTimeString) + '</td>';
            record += '</tr>';

            $('#SessionTBody' + count).append(record);



        record = '';

        if(Sessions.length != i + 1)
        {
            if(Sessions[i].StartDateTimeDef != Sessions[i + 1].StartDateTimeDef)
            {
                tableContent = '';
                count++;
                tableContent = generateTableContent(count, Sessions[i+1].StartDateTimeDef);
                tableContent += '</tbody></table></div>';
                $('#SessionTable').append(tableContent);
            }
        }

    }

}
populateSessionTable();

The preview shows the name in the correct format, but when it gets rendered instead of having the quote, it shows ' 预览以正确的格式显示名称,但是当它被渲染而不是引用时,它显示'

This is how the output is coming up 这就是输出的结果

So finally it was a stupid problem and I swear I had tried this before, but this is the code that worked. 所以最后这是一个愚蠢的问题,我发誓我之前尝试过这个,但这是有效的代码。

var stuName = '@ViewBag.Name';
stuName = stuName.replace("&#39;", "'");
$('#thStudentName').text(stuName);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM