webform的跨页面传值、客户端的页面跳转、超链接
一、跨页面传值和取值:
1、QueryString - url传值,地址传值
优缺点:不占用服务器内存;保密性差,传递长度有限。
通过跳转页面路径进行传值,方式:
href="地址?key=value&key=value" 用&可以实现传递多个值。
通过这种方式就把要传递的值传到要跳转的页面去了。
2、跨页面取值:
在跳转到的页面的C#代码服务端进行取值
用: string value = Request["key"];
二、客户端页面跳转
当前页面跳转:
Response.Redirect("url");也可在这个跳转地址中进行传值。
打开新页面窗口:
Response.Write("<script>window.open('Default2.aspx','_blank');</script>");
Response.Write() 会将括号中的内容原封不动的输出到Html页面的最顶端。里面可以放Js,上例就是通过Js来实现打开新页面。
三、Button的OnClientClick属性
OnClientClick 属性用于设置当 Button 控件被点击时运行一段客户端脚本。
<asp:Button ID="Button1" OnClientClick="return buttonisok()" runat="server" Text="注册" />
按钮控件的OnClientClick属性来控制按钮的提交,属性值为True才可提交,属性值为False则不可提交。
而 buttonisok()是在Js中写的一个方法,只会返还True或者 False。就可实现控制按钮的提交功能。
js知识点回顾:
按钮的点击事件:在新页面打开一个没有菜单没有导航栏,宽450高500的新页面,地址是Update.aspx并且传一个值。这个值通过这个按钮的一个自定义属性'bh'中取得
document.getElementById("btn1").onclick=function(){
window.open("Update.aspx?i=" + this.getAttribute('bh'), "_blank", "toolbar=no menubar=no width=450 height=500")
}
按钮的代码:<input id="btn1" type="button" bh="<%#Eval("Ids") %>" value="编辑" />
超链接:
点击会弹出提示框是否删除?点确定会连接到href中写好的地址。
<a onclick="return confirm('是否删除<%#Eval("NickName") %>?')" href="Delete.aspx?i=<%#Eval("Ids") %>">删除</a>