创建一个javascript msgbox (YES/NO)并在代码隐藏中获得结果

Create a javascript msgbox (YES/NO) and get results in code-behind

本文关键字:隐藏 代码 结果 一个 javascript msgbox 创建 YES NO      更新时间:2023-09-26

是否可以从代码后面创建(是/否)javascript消息框,并检索返回值?

我想基于客户端设置会话对象的内容是/否

这个想法是使用这种方法从我的默认网页重定向iphone客户端。

"你想去这个网站的iphone版吗?"

重定向到"iphone"默认页面,并设置一个会话对象,以避免在再次请求默认页面时再次询问此问题 会话对象的生命周期。

——NO设置一个会话对象,以避免在会话生命周期内再次请求默认页面时再次询问此问题对象。

只显示消息并设置适当的cookie。然后让服务器端对cookie做出反应,并呈现所选的站点版本。

http://www.htmlite.com/JS006.php - Javascript确认弹出

http://www.w3schools.com/js/js_cookies.asp - Javascript cookie

在代码后面的FormLoad或任何最适合你的需要,你只需要设置你的按钮的OnClientClick如下:

    button.OnClientClick = "IphoneVersion()";

在Markup中用javascript创建一个函数,如下所示:

function IphoneVersion() {
        if (confirm('Do you want to go the iphone version of this site?')) {
            //set hidden value here            }
        else { //don't set hidden value }
    }

你可以将你的隐藏控件值设置为是/否文本,并在代码后面引用它,或者你可以在函数本身中重定向。这样就行了!

或者您可以将值隐藏在一个隐藏字段中,然后在服务器端读取它。

** EDIT **

OP的评论:

我想基于客户端设置会话对象的内容是/否

不管你怎么看,如果他想在会话中设置这个值,他必须回到服务器。

试试这样:

confirmSomething = function(){        
    __doPostBack("<%=Button1.ClientID%>", confirm("Are you sure?")); 
}
<asp:Button ID="Button1" runat="server" OnClientClick="confirmSomething();" />

后台代码:

protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
{   
    bool conf = bool.Parse(eventArgument);
}