Mam problemy z dostępem do funkcji JavaScript z mojego kodu za plikiem. Muszę to zrobić, ponieważ używam interfejsu API Googlemaps JS, aby dodać znaczniki do mapy na podstawie adresów pobieranych z mojej bazy danych. Mam funkcję o nazwie Addmarker, który zajmuje adres jako parametr, więc muszę być w stanie zadzwonić do tego z pliku za plikiem w funkcji strony_load.

Aby uprościć pytanie, jak mogę zadzwonić do tej funkcji JavaScript, aby wyświetlić alert z ciągiem przeszedł z mojego kodu za plikiem?:

function hello(message)
{
alert(message)
}

Z góry dziękuję!

P.S albo VB lub C # zrobią :)

0
Leopold Stotch 24 październik 2011, 14:24

2 odpowiedzi

Nie jestem pewien, czy jest to najlepsza praktyka, ale możesz wystarczyć wezwanie do funkcji JS gdzieś na swojej stronie, po zdefiniowaniu.

Albo możesz użyć jQuery, aby opóźnić połączenie, dopóki wszystko na stronie zostanie renderowane.

Więc

<script type="text/javascript">

$(document).ready(function(){

hello("myAspString");

});

</script>

Zastąp myaspstring z treściami, upewniając się, że zachowam cytaty w razie potrzeby JS.

1
Chris Barry 24 październik 2011, 10:32

Ten kod spowoduje, że funkcja hello zostanie wywołana z wartością z kodu za:

string value = "world";
Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "my_script", string.Format("hello('{0}');", value.Replace("'", "\\'")), true);

RegisterClientScriptBlock dołączy właściwe <script> znaczniki do wyjścia HTML wysłane do przeglądarki i wtryskiwać swój kod.

Drugi argument jest "kluczem" skryptu, umożliwia posiadanie kilku stwierdzeń i sprawdzić, czy już zarejestrowałeś określone oświadczenie na podstawie klucza. Ostatni argument informuje o tagi dodawania <script>.

Musisz wymienić dowolne pojedyncze cytaty z właściwą sekwencją ucieczki, aby uniknąć łamania ciągu, gdy zawiera pojedyncze cytaty, ponieważ jest to "rozlicznik" używany do przekazywania wartości do funkcji.

1
Shadow Wizard is Vaccinating 24 październik 2011, 10:34