2010-07-30 13 views

cevap

1

Sunucu tarafında komut dosyası oluşturmak ve içindeki değeri gömebilirsiniz:

StringBuilder sb = new StringBuilder(); 
sb.Append("<script type=\"text/javascript\""); 
sb.Append("var someFunc = function(){"); 
sb.AppendFormat("alert('{0}');", importantServerSideValue); 
sb.Append("};"); 
sb.Append("</script>"); 

Page.ClientScript.RegisterClientScriptBlock("genScript", sb.ToString()); 

Ya sayfasında bir gizli form öğesinin değerini yerleştirin ve istemci tarafında JavaScript de erişebilirsiniz.

<script language="javascript" type="text/javascript"> 
    var stringValue = '<%=GetStringValue();%>'; 

    // For example: 

    alert(stringValue); 
</sctipt> 

: Eğer bir javascript işlevine değerini geçmesi gerektiği anlamına olursa

<!-- In the Markup --> 
<asp:HtmlInputHidden id="hiddenField" runat="server" /> 

// And in the code-behind 
hiddenField.Value = importantServerSideValue; 
+0

StringBuilder sayfaya enjekte edilecek komut dosyaları oluşturmak için aaargh, gözlerim! ;-) Gizli giriş alanı çok daha iyi olsa da :) – Rob

+0

@Rob - Hehe. Genelde, komut dosyasını kaydetmenin özel yöntemlerinden herhangi birini kullanması gerekmediği sürece (başlangıç ​​kodunu bir komut dosyası olarak kaydetme gibi) gerekmedikçe, genellikle kodun arka planda kod oluşturması gerekir. –

9

, ne yapabilirim ... .aspx dosyasında

böyle bir şeydir .aspx.cs dosyasında:

private string GetStringValue() 
{ 
    return "A string value"; 
} 

Bu daha sonra "bir dize değeri söyleyerek bir javascript messagebox gösterecektir msgstr "" "sayfa

0

yüklendiğinde PHP'den JS'ye bir değişken değer aktarmak zorunda kaldığımda, jp'yi php değişkeninin değerine ayarlanmış bir değişkenle yankılanmak için php kullandım. Örneğin.

//php code 
echo 'var number = ' . $variable . ';'; 
İlgili konular