是否可以从代码隐藏创建(是/否)javascript消息框,并检索返回值?
我想根据客户端是/否。
设置会话对象的内容我们的想法是使用这种方法从我的默认网页重定向iphone客户端。
“你想去这个网站的iphone版本吗?”
- YES重定向到“iphone”默认页面,并设置会话对象,以避免再次请求默认页面时再次询问此问题 在会话对象的生命周期内。
- 否设置会话对象,以避免在会话的生命周期内再次请求默认页面时再次询问此问题 对象
答案 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);
}