简体   繁体   中英

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. when the HTML pulls up it shows ' in place of "'" . How do I stop it from getting encoded?

Please find the code below.

setting text fileds in the HTML view.

$('#thStudentName').text('@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() {

    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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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