ScriptManager не работает при добавлении параметров в оповещении в asp.net - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу отобразить динамический идентификатор, сгенерированный при вставке записи в базу данных в предупреждении.

Итак, я реализовал приведенный ниже код для моего использования.

ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Request has been created for Sap ID ='" + ObjIPColoFields.SAP_ID + " with Request No: '" + strReturnId + "'); window.location ='IpColoDefault.aspx';", true);

Но ничего не происходит, но когда я убрал параметры, он работает нормально. Как заставить работать с параметрами

1 Ответ

1 голос
/ 30 апреля 2019

У вас есть несколько дополнительных апосов, которые приводят к поломке alert.Предполагая, что SAP_ID равно 123, а strReturnId равно 456, вы создаете скрипт:

alert('Request has been created for Sap ID ='123 with Request No: '456'); window.location ='IpColoDefault.aspx';

Здесь есть два дополнительных апоса, один после = и один перед 456.Удалите их, и у вас будет больше шансов увидеть предупреждение.Вероятно, вы хотите:

alert('Request has been created for Sap ID =123 with Request No: 456'); window.location ='IpColoDefault.aspx';

Конечно, конечный результат также зависит от фактического значения SAP_ID и strReturnId.Если они являются строками, вам нужно убедиться, что они не содержат апос или кавычки, или вам нужно правильно экранировать эти символы.


Попробуйте это:

ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Request has been created for Sap ID = " + ObjIPColoFields.SAP_ID + " with Request No: " + strReturnId + "'); window.location ='IpColoDefault.aspx';", true);
...