Bir değişken asp.net'den JavaScript'e nasıl iletilir?ASP.NET'den JavaScript'e geçiş değişkeni
cevap
Bir ASP.Net Gizli Alanı'nı kullanabilirsiniz. Değerini sunucuda ayarladınız ve ihtiyacınız olduğunda javascript ile geri yükleyeceksiniz.
olan sunucu
hdf_Test.Value = "yourValue";
Bir json kullanarak şans oldu
document.getElementById('hdf_Test').value
Ciddi tarafta bu kod çalışmıyor x dizesini denedim; x.value = "D"; Bana hata veriyor? – user1363918
Bunun nedeni, bir HiddenField denetimi olmayan bir değişken kullanmaya çalışıyorsunuzdur. Cevabımı daha fazla bilgi ile güncelledim. –
Biliyorum partiye geç kaldım, ama bu bana biraz yardımcı oldu. – user2366842
HTML
<asp:HiddenField runat="server" ID="hdf_Test" />
JavaScript C# yöntemimi çağırmak için yöntem çağrısı. bu yazı bir örnek Using jQuery's getJSON method with an ASP.NET Web Form
ben cevabını bilmiyorum ama, bu :) sizin için yararlı bir bağlantı olabileceğini yoktur, (a)
birçok yolu vardır :
1 - bir çerez sunucu tarafında ayarlayın ve sonra çerez istemci tarafında
3 almak - - <%= myVariable %>
2 ile JavaScript'inizin dışarı yaz bir gizli form girişi ayarlayın sizin değeriniz
4 - Sayfanızı querystring parametresiyle yönlendirin ve sonra JavaScript'i kullanarak paramleri ayrıştırın
5 - Tüm JavaScript sunucu tarafınızı oluşturun, bir değişkene kaydedin ve sonra değişken istemciyi yazın. yan.
6 - o zaman
protected string MyProperty { get { return "your value"; } }
arkasında kodunda bir mülkü oluştur AJAX isteği
İlginç 1. seçenek hakkında bilmiyordum. :) + 1 –
İlk seçenek bir 'VBScript çalışma zamanı hatası' 800a000d 'Tür uyuşmazlığı' neden olur ...En azından 'myVariable', klasik bir asp sayfasındaki bir recordset değişkeni olduğunda, <% = rs ("myVariable")%> ' – Karapapas
ile değerini almak javascript HTML'de
var myValue = "<%= MyProperty %>";
gibi Ben bunu bilmiyordum. :) + 1 –
Çok teşekkür ederim .... – user1363918
:
<script type="text/javascript">
alert(<%=Greetings()%>);
</script>
yılında arkasındaki kod:
protected string Greetings()
{
return Microsoft.Security.Application.AntiXss.JavaScriptEncode("Hello World!");
}
javascript etiketi kullanın
< script> var var1 = @var1;
var var2 = @var2;
< /script>Kullanım gizli alan
< input type="hidden" value="@var1" id="h_var1"/>
< input type="hidden" value="@var2" id="h_var2" />
$(function()
{
var var1 = $("#h_var1").val();
var var2 = $("#h_var2").val();
}
3.Retrieve veri json
var var1;
var var2;
$.get(url,function(result)
{
var1 = result.var1; var2 = result.var2;
}
@var sözdizimi kullanarak görünümü motorun bağlıdır. Belki <% = Var1%>
Arkadan kodunuzda kullanabilirsiniz:
kamu dize json;
Eğer girebilirsiniz JavaScript'inizde bir değeri
vermek gerekir:
<script>
var myVar = <%=json%>;
</script>
Eğer kod tarafında dize değişkeni eşdeğer almak istiyorsanız, bu kodu şöyledir:
Örnek:
string jsString= JsEncoder.JavaScriptEncode("This is an example of C# string to be converted to javascript string",true));
Sınıf Kod:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
namespace stackoverlofw.JavascriptEncoder
{
public class JsEncoder
{
/// <summary>
/// Empty string for Java Script context
/// </summary>
private const string JavaScriptEmptyString = "''";
/// <summary>
/// Initializes character Html encoding array
/// </summary>
private static readonly char[][] SafeListCodes = InitializeSafeList();
/// <summary>
/// Encodes input strings for use in JavaScript.
/// </summary>
/// <param name="input">String to be encoded.</param>
/// <param name="emitQuotes">value indicating whether or not to emit quotes. true = emit quote. false = no quote.</param>
/// <returns>
/// Encoded string for use in JavaScript and does not return the output with en quotes.
/// </returns>
/// <remarks>
/// This function encodes all but known safe characters. Characters are encoded using \xSINGLE_BYTE_HEX and \uDOUBLE_BYTE_HEX notation.
/// <newpara/>
/// Safe characters include:
/// <list type="table">
/// <item><term>a-z</term><description>Lower case alphabet</description></item>
/// <item><term>A-Z</term><description>Upper case alphabet</description></item>
/// <item><term>0-9</term><description>Numbers</description></item>
/// <item><term>,</term><description>Comma</description></item>
/// <item><term>.</term><description>Period</description></item>
/// <item><term>-</term><description>Dash</description></item>
/// <item><term>_</term><description>Underscore</description></item>
/// <item><term> </term><description>Space</description></item>
/// <item><term> </term><description>Other International character ranges</description></item>
/// </list>
/// <newpara/>
/// Example inputs and encoded outputs:
/// <list type="table">
/// <item><term>alert('XSS Attack!');</term><description>'alert\x28\x27XSS Attack\x21\x27\x29\x3b'</description></item>
/// <item><term>[email protected]</term><description>'user\x40contoso.com'</description></item>
/// <item><term>Anti-Cross Site Scripting Library</term><description>'Anti-Cross Site Scripting Library'</description></item>
/// </list>
/// </remarks>
public static string JavaScriptEncode(string input, bool emitQuotes)
{
// Input validation: empty or null string condition
if (string.IsNullOrEmpty(input))
{
return emitQuotes ? JavaScriptEmptyString : string.Empty;
}
// Use a new char array.
int outputLength = 0;
int inputLength = input.Length;
char[] returnMe = new char[inputLength * 8]; // worst case length scenario
// First step is to start the encoding with an apostrophe if flag is true.
if (emitQuotes)
{
returnMe[outputLength++] = '\'';
}
for (int i = 0; i < inputLength; i++)
{
int currentCharacterAsInteger = input[i];
char currentCharacter = input[i];
if (SafeListCodes[currentCharacterAsInteger] != null || currentCharacterAsInteger == 92 || (currentCharacterAsInteger >= 123 && currentCharacterAsInteger <= 127))
{
// character needs to be encoded
if (currentCharacterAsInteger >= 127)
{
returnMe[outputLength++] = '\\';
returnMe[outputLength++] = 'u';
string hex = ((int)currentCharacter).ToString("x", CultureInfo.InvariantCulture).PadLeft(4, '0');
returnMe[outputLength++] = hex[0];
returnMe[outputLength++] = hex[1];
returnMe[outputLength++] = hex[2];
returnMe[outputLength++] = hex[3];
}
else
{
returnMe[outputLength++] = '\\';
returnMe[outputLength++] = 'x';
string hex = ((int)currentCharacter).ToString("x", CultureInfo.InvariantCulture).PadLeft(2, '0');
returnMe[outputLength++] = hex[0];
returnMe[outputLength++] = hex[1];
}
}
else
{
// character does not need encoding
returnMe[outputLength++] = input[i];
}
}
// Last step is to end the encoding with an apostrophe if flag is true.
if (emitQuotes)
{
returnMe[outputLength++] = '\'';
}
return new string(returnMe, 0, outputLength);
}
/// <summary>
/// Initializes the safe list.
/// </summary>
/// <returns>A two dimensional character array containing characters and their encoded values.</returns>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification = "This is necessary complexity.")]
private static char[][] InitializeSafeList()
{
char[][] allCharacters = new char[65536][];
for (int i = 0; i < allCharacters.Length; i++)
{
if (
(i >= 97 && i <= 122) || // a-z
(i >= 65 && i <= 90) || // A-Z
(i >= 48 && i <= 57) || // 0-9
i == 32 || // space
i == 46 || // .
i == 44 || // ,
i == 45 || // -
i == 95 || // _
(i >= 256 && i <= 591) || // Latin,Extended-A,Latin Extended-B
(i >= 880 && i <= 2047) || // Greek and Coptic,Cyrillic,Cyrillic Supplement,Armenian,Hebrew,Arabic,Syriac,Arabic,Supplement,Thaana,NKo
(i >= 2304 && i <= 6319) || // Devanagari,Bengali,Gurmukhi,Gujarati,Oriya,Tamil,Telugu,Kannada,Malayalam,Sinhala,Thai,Lao,Tibetan,Myanmar,eorgian,Hangul Jamo,Ethiopic,Ethiopic Supplement,Cherokee,Unified Canadian Aboriginal Syllabics,Ogham,Runic,Tagalog,Hanunoo,Buhid,Tagbanwa,Khmer,Mongolian
(i >= 6400 && i <= 6687) || // Limbu, Tai Le, New Tai Lue, Khmer, Symbols, Buginese
(i >= 6912 && i <= 7039) || // Balinese
(i >= 7680 && i <= 8191) || // Latin Extended Additional, Greek Extended
(i >= 11264 && i <= 11743) || // Glagolitic, Latin Extended-C, Coptic, Georgian Supplement, Tifinagh, Ethiopic Extended
(i >= 12352 && i <= 12591) || // Hiragana, Katakana, Bopomofo
(i >= 12688 && i <= 12735) || // Kanbun, Bopomofo Extended
(i >= 12784 && i <= 12799) || // Katakana, Phonetic Extensions
(i >= 19968 && i <= 40899) || // Mixed japanese/chinese/korean
(i >= 40960 && i <= 42191) || // Yi Syllables, Yi Radicals
(i >= 42784 && i <= 43055) || // Latin Extended-D, Syloti, Nagri
(i >= 43072 && i <= 43135) || // Phags-pa
(i >= 44032 && i <= 55215) /* Hangul Syllables */)
{
allCharacters[i] = null;
}
else
{
string integerStringValue = i.ToString(CultureInfo.InvariantCulture);
int integerStringLength = integerStringValue.Length;
char[] thisChar = new char[integerStringLength];
for (int j = 0; j < integerStringLength; j++)
{
thisChar[j] = integerStringValue[j];
}
allCharacters[i] = thisChar;
}
}
return allCharacters;
}
}
}
- 1. Değişken dahil olan oyun kitabına geçiş değişkeni?
- 2. Bir tür değişkeni üzerinde geçiş yapma
- 3. model değişkeni yazdırma değişkeni
- 4. OCaml global değişkeni değişkeni
- 5. değişkeni
- 6. Geçiş
- 7. Değişken değişkeni, middleware
- 8. JQuery'nın .click geçiş değişkenleri
- 9. Python ve Değişken Geçiş
- 10. Referans değişkeni nesne değişkeni içinde mi?
- 11. SSH_ASKPASS değişkeni
- 12. Yük değişkeni
- 13. PHP değişkeni
- 14. sınıf değişkeni
- 15. Girdi değişkeni
- 16. Mousemove animasyonu, geçiş devresinde geçiş sürüyor
- 17. Denetleyici değişkeninden sayfaya geçiş
- 18. Geçiş değişkenleri()
- 19. Geçiş, CSS3
- 20. LLVM'de global bir değişkeni nasıl bildirebilirim?
- 21. Express'teki bir şablondan içeriğe nasıl geçiş yapabilirim?
- 22. Varsayılan işlev değişkeni değişkeni her zaman ayrılıyor mu?
- 23. Olay değişkeni değişiklik yaptıktan sonra DOM'da içerik değişkeni güncellenmiyor
- 24. Oluşturmayı tetikleyen Perforce değişkeni içeren Jenkins değişkeni nedir?
- 25. Değişkeni bulamıyor - PhantomJS
- 26. Kalıcı PowerShell değişkeni
- 27. kamu statik son değişkeni
- 28. Dekker'ın algoritma karmaşasının değişkeni
- 29. Oturumda dizi değişkeni (CodeIgniter)
- 30. yazdırma değişkeni adı #define
Ne yapmaya çalışıyorsunuz? Bir örnek yardımcı olabilir? – Xharze
kullandığınız yöntemden hangisini daha güvenli hale getirmek için dizginizi kodlamak için 'Microsoft.Security.Application.AntiXss.JavaScriptEncode' kullanmayı unutmayın. –