Почему предупреждение не выполняется? - PullRequest
3 голосов
/ 28 марта 2012

У меня есть контроль, если обзор уже существует, если он существует, я хочу предупредить посетителя, что если человек нажмет OK / yes в предупреждении, отзыв будет перезаписан, если человек нажмет нет / отменить отзыв, не будетбыть обновленным.Но это не работает, при отладке строка предупреждения просто проходит и обновляется без предупреждения.

if (ReviewExist(StoreID, UserID) != 0)
{
    ScriptManager.RegisterStartupScript(this, this.GetType(), "Message", "confirm('Are you sure?');", true);
    UpdateStoreReview(Description);
    Response.Redirect("Default");
}
else      
{
    AddStoreReview(Description);
}

Ответы [ 3 ]

8 голосов
/ 28 марта 2012

Это потому, что ваш Response.Redirect перенаправляет элемент управления на другую страницу, которая игнорирует ваши RegisterScript.

Что вам нужно сделать, это если вы пытаетесь добиться этого нажатием кнопки (кнопка обновления), а затем попыткой Page_Load

if(!IsPostBack)    
{
 btnUpdate.Attributes.Add("OnClick","confirm('Are you sure?');");
}

Тогда приведенный выше код можно изменить на

if (ReviewExist(StoreID, UserID) != 0)
{
    UpdateStoreReview(Description);
    Response.Redirect("Default");
}
else      
{
    AddStoreReview(Description);
}

Примечание Я думаю, что вам нужно перенаправить на Default.aspx; но вы пропустите .aspx в response.redirect.

2 голосов
/ 28 марта 2012

Вам нужны теги скрипта в вашем скрипте.

ScriptManager.RegisterStartupScript(this, this.GetType(), "Message", "<script type='text/javascript'>confirm('Are you sure?');</script>", true);
1 голос
/ 28 марта 2012

ЕСЛИ вы используете ASP.net

<asp:Button ID="_btnSalvar" runat="server" Confirm="False" ConfirmType="None" Text="Are you sure?" Width="131px" OnClick="_btnSalvar_Click" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...