Raja Ganapathy Ответов: 1

Как показать окно предупреждения yes/no use C# после результата buttonclick?


I have used below function in inside the button click after the success message come continue our further process if not come success to show the popup with yes/no if click no process is stop click no stop the process.but the below code the script is show after the process is completes how to do it?


Что я уже пробовал:

ASPX
 
 <script type = "text/javascript">
function Confirm() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Do you want to save data?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
}
</script>
 
 
 
Code Behind
 
 
protected bool ValidateDuplicate()
{
bool result = true;
Material material = new Material();
MaterialDataAccess materialDA = new MaterialDataAccess();
if (hfdMode.Value.Equals("new") || hfdMode.Value.Equals("draft"))
{
material.Type = "N";
}
else if (hfdMode.Value == "update")
{
material.Type = "U";
}
material.RequestNo = hfRequestNo.Value;
material.Description = tbxShortDescription.Text.ToUpper().Replace("'", "''");
materialDA.Material = material;
materialDA.ValidateCheck();
if (!materialDA.Message.Text.Equals("SUCCESS"))
{
ClientScript.RegisterStartupScript(typeof(Page), "Confirm", "<script type='text/javascript'>callConfirm();</script>");
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
{
// event occures
}
else
{
// do nothing
}
}
return result;
}

[no name]

В чем ваша проблема?Из вашего вопроса я понял, что вы показываете окно сообщения confirm java script и регистрируете этот вызов из C#.Как только пользователь получает это окно сообщения, если пользователь выбирает "нет", то форма не должна публиковать ответ, а если ответ "да", то форма должна публиковать ответ, но в вашем случае ничего не происходит, верно?Позвольте прояснить мое понимание.

Raja Ganapathy

да

1 Ответов

Рейтинг:
1

F-ES Sitecore

RegisterStartupScript не останавливает выполнение на стороне сервера, чтобы запустить скрипт на клиенте и дождаться ответа, все, что он делает,-это добавляет указанный вами javascript в выходные данные и продолжает работу. Браузер получает html (и, следовательно, запускает js) только после того, как весь ваш серверный код завершен. Есть несколько способов справиться с получением подтверждения, чтобы продолжить что-то, это может включать в себя разделение вашей задачи на два отдельных шага.

Просьба к пользователю подтвердить, что он хочет продолжить выполнение действия | ASP.NET форумы[^]

Техника, которую вы используете, не может быть "исправлена", вам придется перестроить свой процесс.


Karthik_Mahalingam

5

Raja Ganapathy

Привет спасибо я использовал другой метод