Интересно, вы могли бы просто сделать это:
string text="xyz";
anchor.Attributes.Add("onclick", function(){ sample(text); } );
Что это делает?Ну, обработчик onclick
принимает функцию без аргументов, верно?То есть , что делать, если кто-то нажимает на ссылку.Если вы кодируете это вручную в HTML, вы можете использовать javascript:a_statement_goes_here
для описания кода для запуска.Я ожидаю, что браузер просто создаст функцию из этого.Поскольку вы назначаете это в JavaScript, вы должны сделать это самостоятельно (если вы не напишите в документ - это может сработать) и назначить функцию.Но у вас еще нет такой функции - у вас есть одна sample
, которая принимает аргумент - следовательно, анонимная функция закрывает аргумент text
.
Это основано на предположении, что вышеприведенноена самом деле клиентский код.Я был бы очень удивлен, если бы JS не позволил вам назначить функцию атрибуту.На самом деле, я думаю, что проблема, с которой вы сталкиваетесь, заключается в том, что JavaScript пытается быть очень умным и убедиться, что присвоение строки останется строкой - вот почему ваш '
был закодирован.
Идитерасскажи как все прошло.Та!