2013-02-18 1 views
0

В моих C# код, я представил окно подтверждения для пользователя, используя следующий код:Получить Подтверждение ответа по представлению

string confirmMsg = "All the cause data will be permanently removed. Are you sure you want to continue"; 
ClientScript.RegisterStartupScript(Page.GetType(), "TWCL Issue Mgmt System", "confirm('" + confirmMsg + "');", true); 

Я пытаюсь получить ответ (ДА или НЕТ) в логическое значение или какую-то другую переменную, чтобы я мог выполнять другой код на основе полученного ответа. Поэтому мне хотелось бы что-то вроде этого:

bool x = ClientScript.RegisterStartupScript(Page.GetType(), "TWCL Issue Mgmt System", "confirm('" + confirmMsg + "');", true); 
if(x) 
{ 
/*Exceute the rest of the code here*/ 
} 
else 
{ 
    /*do postback*/ 
} 

Любые идеи о том, как получить ответ «ДА/НЕТ» из окна подтверждения?

ответ

0

Создайте скрытое поле на форме. Напишите ответ на вопрос в скрытом поле с помощью некоторого javascript. Прочитайте значение скрытого поля в коде.

+0

Я пробовал этот метод, сначала добавив скрытое поле под названием «hdnConfirm». Я пробовал этот метод с этим кодом (безрезультатно): строка confirmMsg = «Все данные причины будут удалены постоянно. Вы уверены, что хотите продолжить»; ClientScript.RegisterStartupScript (Page.GetType(), "TWCL Issue Mgmt System", "document.getElementById ('MainContent_hdnConfirm'). Value = confirm ('" + confirmMsg + "');", true); Можете ли вы показать мне пример кода того, что вы говорите? – user2030579

+0

попробуйте что-то вроде hdnConfirm.value = Confirm ("....."); –

0

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

Это более обычно использовать OnClientClick свойство кнопки, делающего постбэк:

<asp:Button ... 
    OnClientClick="return confirm('Are you sure?');" 
/> 

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

+0

Это был код, который у меня был раньше. Но пользователь хочет чего-то другого. Подтверждение происходит, когда выпадающий список изменяется. Однако я изменил его так, что когда выбранный индекс изменился, он проверяет, уже ли присвоено значение определенному полю в БД. Если значение равно null, то я не хочу показывать окно подтверждения, я просто хочу заполнить некоторые поля. Если значение не пустое, и пользователь все равно хочет его изменить, я показываю окно подтверждения. Поэтому я должен прибегнуть к тому, чтобы положить его в код C#, а не на .aspx-код – user2030579