web程序入门二(webforms web窗体 aspx)
用aspx模板 这种开发主要通过拖控件方法
一般处理程序 加 HTML 方式主要设计简单的布局
对于复杂的页面布局,使用aspx
aspx文件:前端布局
aspx.cs文件:后端写C#代码
aspx和aspx.cs在编译时都会生成一个类(二者为继承关系)
aspx中调用后端代码:
strhtml 是cs中定义的一个字符串
<%= strhtml%> // =是输出意思 类似response 前端输出
<% @ Import Namespace = Test"%> //导入命名空间
foreach循环:
<%foreach(var item in list ){%>
中间写循环体
<td><a href="/id=<%=item.Id%>">例子</td>
<%}%>
<form id="form1" runat="server"> 这是一个服务端控件 method 和action自动赋值 提交到本页
runat="server"因为有这一个属性,所以会自动在页面添加一个隐藏域
这个隐藏可以用来判断是否回发
如果是get过来的,IsPostBack为false;
如果是post过来的,IsPostBack为true。
if(IsPostBack)
通过判断名称__VIEWSTATE这个隐藏域,能否获取到该隐藏域的值,来判断。
可以手动删除,改写为非服务端控件 自己定义method 和action
<form id="form1" method="" action="default.aspx">
以上是不拖控件的写法 在aspx中写C#代码
拖控件运行比较慢 优点是开发快
在webforms中写Response 或者Request不再像一般处理程序中,不需要写HttpContext.
因为在这里做了封装
如果用户通过浏览器发送的请求,不需要布局,使用一般处理程序。需要页面的,用web窗体aspx。
在web窗体应用中,也可以添加一般处理程序。