2013-12-24 3 views
0

Я использую SpeechSynthesizer, чтобы преобразовать текст в речь.Проблема в вызове функции JScript

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 

SpeechSynthesizer synth = new SpeechSynthesizer(); 
synth.Speak("Hello"); 

//JScript function call 
Label1.Text = "<script type='text/javascript'>TestMethod();</script>"; 
} 

В приведенном выше случае метод JScript не запускается. но с тем же кодом, если я комментирую synth.Speak («Hello»); его метод JScript отлично.

Может ли кто-нибудь сказать, почему в этом случае функция JScript не запускается и может быть альтернативой для того же?

+0

Почему вы не используете ClientScriptManager. ?? –

+0

Я уже попробовал ClientScriptManager, и получил тот же результат :(--- Mahesh –

+0

использовать ClientScriptManager, а затем проверить вашу страницу и сообщить мне, видите ли вы свой скрипт на странице источника? –

ответ

0

Вы можете комбинировать функциональность javascript, вызывая http handler внутри вашей функции hjavascript. Вы также можете реализовать вызов веб-службы какого-либо типа: REST или SOAP. Эти службы на стороне сервера будут содержать ваш код за функциональностью (например, SpeechSynthesizer synth = new SpeechSynthesizer(), synth.Speak («Hello»);).

Каждое из указанных выше может быть вызвано с использованием события javascript (например, onclick), зарегистрированного на определенной кнопке html, из жизненного цикла страницы ASP.NET. Например, вы могли бы назвать эту функцию на событие OnClick (targetURL будет заменен на URL обработчика HTTP, или соответствующей услуги):

<button onclick="httpGetRequest('targetURL')">Click me</button> 

function httpGetRequest(theUrl) 
{ 

    //do something before code behind 
    var xmlHttp = null; 

    xmlHttp = new XMLHttpRequest(); 
    xmlHttp.open("GET", theUrl, false); 
    xmlHttp.send(null); 
    return xmlHttp.responseText; 

    //do something after code behind 
} 

Надежда Я помог!

+0

Но я должен позвонить SpeechSynthesizer synth = new SpeechSynthesizer(); synth.Speak («Hello»); перед вызовом функции JScript ... Как вы думаете, чтобы справиться с этим .... –

+0

Я попытался использовать WebMethod вместо HTTPHANDLERS, но результат такой же Не работает :(И если я прокомментирую метод Speak, то он отлично работает. У меня есть идея, почему после cpeak-метода возникает проблема вызова методов JScript –

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