2013-02-17 2 views
1
<script type="text/javascript"> 

function abc() 
{ 
    var id = document.getElementById('123'); 
    var caption= <%=MyProperty %>; 
} 
</script> 

код позади:Передача значения в JavaScript из asp.net

protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.RegisterStartupScript(Guid.NewGuid().ToString(),"<script language = 'javascript'>abc();</script>"); 
} 

protected int MyProperty 
{ 
    get 
    { 
     return 123; 
    } 
} 

мне нужно передать значение строки JavaScript с междунар этот код работает отлично.

protected string MyProperty 
{ 
    get 
    { 
     return "123"; 
    } 
} 

Когда я попытался передать строку, этот код не работает.

+0

удалить неправильные пробелы в '' "' Это должно быть '' "' Вы также можете использовать эту перегрузку для автоматического создания блока сценария: 'Page.ClientScript.RegisterStartupScriptBlock (typeofyourpage," somekey "," abc(); ", true);' –

ответ

1

, если вам нужно передать строку, вы должны указать разделители "или"

var caption= "<%=MyProperty %>"; 

или

var caption= '<%=MyProperty %>'; 

без них Javascript интерпретирует значение строки MyProperty как имя Javascript variable.

+0

свойство is 'int'! –

+0

Steve B: Я понимаю, что @ user1820649 хочет попробовать защищенную строку MyProperty, я, возможно, не полностью понял цель приложения. –

+0

Я получаю CS0103: Имя «MyProperty» не существует в текущем контексте – Fandango68

Смежные вопросы