2015-02-06 4 views
0
var nUserID = '<% if (ids != null) {ids.userID.ToString();}%>' 

Примечание: Удостоверение личности не является нулевым или ids.userID равна нулю, но эм получение nUserID = «»
Есть ли способ, чтобы преобразовать строку # C в Javascript строки?Присвоить C# строка переменной Javascript

+1

Вы не должны думать об этом как "преобразование C# строки в строку JavaScript". Такая вещь не имеет смысла. Эти два никогда не взаимодействуют в этом сценарии, где отображается страница. Ваш C# просто интерпретируется и результат сбрасывается в HTML. –

ответ

3

Для записи это прямо на странице вы должны использовать Response.Write как

var nUserID = <% if (ids != null) {Response.Write(ids.userID.ToString());}%> 

рядом, что, если вам нужно добавить в конце ; или поместить его внутрь квоты до вас.

<% %> не писал на странице, просто запустите код.
<%= %> записи на странице, как Response.Write

+0

... или просто он оценил вас с помощью: 'var nUserID =" <% = ids.userID%> "' –

+0

@SimonWhitehead Но если пользователю нужна некоторая проверка для null? – Aristos

+0

Touche - я полностью проигнорировал эту часть. Мои извинения. Я бы по-прежнему использовал '<%= %>', но обернул проверку NullRef в методе :) –

0

Более подходящее решение будет сохранить ids.userID атрибуту данных некоторого соответствующего элемента HTML или просто создать невидимый div элемент со всеми C# данные, которые вы хотите использовать в вашем javascript-коде как data атрибутов. И затем используйте jQuery для извлечения этих данных в скриптах.

<div id="settings" style="display: none;" data-user-id="<%= ids.userID %>"></div> 

и JavaScript:

var nUserID = $('#settings').data('user-id'); 
0

Используйте что-то подобное:

<script type="text/javascript"> 

    var nUserID = '<%=ids.userID.ToString()%>'; 

if(!nUserID) 
{ 
//check for null in javascript 
alert(nUserID); 

} 

    </script> 
Смежные вопросы