Я прочитал много сообщений здесь и многих других сайтов, и поэтому я собрал несколько версий КАК это сделать. Моя проблема в том, что я не могу заставить его ничего делать.Невозможно получить Javascript для стрельбы из C# codebehind
Вот Javascript, просто предупреждение для тестирования:
<script type="text/javascript">
function ICDcheck() {
alert('Patient has an ineligible diagnosis code!');
}
</script>
Я проверил это вручную путем добавления функции к OnClientClick кнопки, и она работала отлично.
Вот что я пытался в коде:
ClientScript.RegisterClientScriptBlock(this.GetType(), "uniqueKey", "ICDcheck()", true);
и ...
string jsMethodName = "ICDcheck()";
ScriptManager.RegisterClientScriptBlock(this, typeof(string), "uniqueKey", jsMethodName, true);
и ...
lblJavaScript.Text = "<script type='text/javascript'>ICDcheck();</script>";
Этот последний ссылается на метку Я сижу в верхней части моего asp: Содержимое чуть ниже скрипта и блок asp: ScriptManager.
Я поместил эти биты в button_click, page_load, sqldatasource_selecting, formview_PageIndexChanging и всегда то же самое, ничего.
Как всегда, спасибо за ваше терпение и помощь. Мое невежество, скорее всего, будет раскрыто как проблема, но я учусь.
Попробуйте Page.ClientScript.RegisterStartupScript ( GetType(), "MyKey", "ICDcheck();", правда); Также установите firebug и проверьте, есть ли ошибки скрипта. – Zaki
Проверьте, используя метод IsClientScriptBlockRegistered, если скрипт с уникальным именем зарегистрирован или нет. Подробнее см. На http://msdn.microsoft.com/en-us/library/aa5tktc9.aspx – mit
ДА! Сэм, это сработало. Хорошее горе Я хотел бы знать, почему существует так много способов сделать одно и то же, и почему некоторые из них работают для некоторых людей, а не для других.Или эти другие предназначены для использования в конкретных случаях, о которых я не совсем понимаю? В любом случае, спасибо, что нашли время, чтобы помочь мне. –