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

时间:2011-11-01 21:03:44

标签: javascript asp.net

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

我想根据客户端是/否。

设置会话对象的内容

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

  

“你想去这个网站的iphone版本吗?”

     

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

     

- 否设置会话对象,以避免在会话的生命周期内再次请求默认页面时再次询问此问题   对象

4 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

或者您可以将值隐藏在隐藏字段中并在服务器端读取它。

**编辑**

OP评论:

  

我想根据客户端是/否。

设置会话对象的内容

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

答案 2 :(得分:1)

在FormLoad中的Code背后或者最适合您需求的地方,您只需按如下方式设置按钮的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 }
    }

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

答案 3 :(得分:-2)

尝试这样的事情:

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);
}