学习ASP.NET经典总结1
李天平 2003-12-30 03:42:09 个人工作中小小总结,献给那些正学习asp.net的同志们,请各位高人勿见笑!
页面之间传递值
方式1:
在接收页 的html代码里加上一行: <%@ Reference Page = "WebForm1.aspx" %>
WebForm1 fp=(WebForm1)Context.Handler;
this.TextBox1.Text=fp.name; //name 是第一页的public变量
Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。
方式2:GET方式
在发送页
public int sum=0;
int i =int.Parse(this.TextBox1.Text)*2;
Server.Transfer("WebForm2.aspx?sum="+i);
接收页
this.TextBox1.Text=Request["sum"].ToString();
or this.TextBox1.Text=Request.Params["sum"].ToString();
this.TextBox1.Text=Request.QueryString["sum"];
方法3:全局变量
发送页:
Application["sum"]=this.TextBox1.Text;
Server.Transfer("WebForm2.aspx");
接收页:
this.TextBox1.Text=(string)Application["sum"];
Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值,Application对象将是最佳的选择
在这里用Session[""]的方法雷同
方法4:
发送页:
1.定义静态变量: public static string str="";
2. str=this.TextBox1.Text;
Server.Transfer("webform2.aspx");
接收页:
1.引入第一页的命名空间:using WebApplication1;
2 this.TextBox1.Text=WebForm1.str;
点击按钮弹出对话框
方法1:
1,添加Hidden1
2,Page_Load()//
Button1.Attributes.Add("onclick", "if(confirm('是否真的要删除?')){document.getElementById('Hidden1').value='你要返回的值'}else{return false;}");
3,Button1_Click()//得到结果
string s=this.Hidden1.Value;
注意:
如果Hidden1.Value的值总是为空,请检查Button1是否放在一个没有runat="server"的form中了,去掉form试试
如果把Button1.Attributes.Add()方法放在Button1_Click()里,则先执行Button1_Click(),后执行onclick
方法2:
页面:
<script language="javascript">
function getMessage()
{
var Flag=confirm("是否真的要删除?");
if (Flag)
{
alert("删除");
}
else
{
alert("取消");
}
}
</script>
代码:
this.Button2.Attributes.Add("onclick","return getMessage();");
文本框之间回车换位置
在<form 里加
onkeydown='if(event.keyCode==13&&event.srcElement.type=="text")event.keyCode=9'
<form id="Form1" onkeydown='if(event.keyCode==13&&event.srcElement.type=="text")event.keyCode=9' method="post" runat="server">
一个页面只允许有一个form 带runat="server"
带有按钮列的Table 使用
1。
<asp:table id="Table2" style="BORDER-COLLAPSE: collapse" runat="server" Width="100%" GridLines="Both" BorderWidth="1px" BorderColor="DimGray">
<asp:TableRow>
<asp:TableCell BackColor="#ddddd5" align="center" Text="单位"></asp:TableCell>
<asp:TableCell BackColor="#ddddd5" align="center" Text="上报日期"></asp:TableCell>
</asp:TableRow>
</asp:table>
2。单元格鼠标移动效果
<tr id="test" onmouseover="javascript:this.bgColor='#FFDDAA'" onmouseout="javascript:this.bgColor='#FFFFF5'" bgColor="#fffff5">
<td vAlign="middle" align="center" colSpan="2">指定日规则列表</td>
</tr>
2。循环创建表格
for(int i=0;i<rs2.RecordCount;i++)
{
TableRow row=new TableRow();
TableCell cell1=new TableCell();
cell1.Text=rs2.Fields[1].Value.ToString();
row.Cells.Add(cell1);
TableCell cell2=new TableCell();
cell2.Text=rs2.Fields[2].Value.ToString();
row.Cells.Add(cell2);
TableCell cell3=new TableCell();
cell3.Text=rs2.Fields[5].Value.ToString();
row.Cells.Add(cell3);
//创建操作按钮列
TableCell cell4=new TableCell();
System.Web.UI.WebControls.ImageButton im2=new System.Web.UI.WebControls.ImageButton ();
im2.ImageUrl ="image/button_del.gif";
im2.BorderStyle=BorderStyle.None;
im2.Click += new System.Web.UI.ImageClickEventHandler(this.im2_click);
im2.ID=rs2.Fields[0].Value.ToString();
cell4.Controls.Add(im2);
cell4.HorizontalAlign=HorizontalAlign.Center ;
row.Cells.Add (cell4);
this.Table1.Rows.Add(row);
rs2.MoveNext();
}
3。操作按钮列的事件:
private void im2_click(object sender, System.Web.UI.ImageClickEventArgs e)
{
System.Web.UI.WebControls.ImageButton im2=(System.Web.UI.WebControls.ImageButton)sender;
string id=im2.ID;
string delsql="delete from M_System_WorkDayPerm where ID="+id;
//建连接
ADODB.Connection Sybcn=new ADODB.Connection();
Sybcn.CursorLocation=ADODB.CursorLocationEnum.adUseClient;
Sybcn.Open(Session["DBDBConnString"].ToString(),Session["DBDBUser"].ToString(),Session["DBDBPassWd"].ToString(),-1);
object recordAffect;
Sybcn.Execute(delsql,out recordAffect ,1);
Sybcn.Close();
this.Page_Load(sender,e);//重新显示
}