webfrom

简介:

         WebForm是微软开发的一款产品,它将用户的请求和响应都封装为控件。让开发者认为自己是在操作一个windows界面。极大地提高了开发效率。

概述:

       WinForm.Net开发平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms

目的:

       1. 支持事件模型开发。有丰富的服务器端组件。

    2. 控件丰富


 <table >
            <tr><td> <asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
        </asp:TreeView></td>
                <td> <asp:Repeater ID="Repeater1" runat="server">
                    <HeaderTemplate>
                        <table border ="1"  >
                            <tr >
                                <th>编号</th>
                                 <th>姓名</th>
                                 <th>密码</th>
                                 <th>Email</th>
                                 <th>年龄</th>
                                 <th>性别</th>
                                 <th>地区</th>
                                 <th>爱好</th>
                                 <th>图片</th>
                                 <th>操作</th>
                            </tr>
                        
                    </HeaderTemplate>
                    <ItemTemplate >
                        <tr >
                                <th><%#Eval ("id") %></th>
                                 <th><%#Eval ("name") %></th>
                                 <th><%#Eval ("pwd") %></th>
                                 <th><%#Eval ("Email") %></th>
                                 <th><%#Eval ("age") %></th>
                                 <th><%#Eval ("sex") %></th>
                                 <th><%#Eval ("deptname") %></th>
                                 <th><%#Eval ("hobby") %></th>
                                 <th>
                                     <asp:Image ID="Image1" ImageUrl='<%#Eval ("images") %>'  runat="server" Width ="78px"  Height ="25px" /></th>
                                 <th>
                                     <asp:LinkButton ID="LinkButton1" CommandArgument ='<%#Eval ("id") %>' CommandName ="Edit" runat="server">编辑</asp:LinkButton>
                                     <asp:LinkButton ID="LinkButton2" CommandArgument ='<%#Eval ("id") %>'  CommandName ="Delete" runat="server" OnClientClick ="return confirm('真的删除吗?')">删除</asp:LinkButton>
                                 </th>
                            </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        </table>


if (!IsPostBack )
            {
                this.Label1.Text = Session["name"].ToString ();
                userBLL bll = new userBLL();
                int deptpid = 0;
                DataTable table = bll.tree(deptpid);
                TreeNode tn = new TreeNode();
                tn.Text = table.Rows[0]["deptname"].ToString ();
                tn.Value = table.Rows[0]["deptid"].ToString();
                this.TreeView1.Nodes.Add(tn);
                Addtable(tn);

                int deptid = 0;
                Session["deptid"] = deptid;
                this .AspNetPager1 .RecordCount = bll.count(deptid);
                int index = this.AspNetPager1.CurrentPageIndex;
                int size = this.AspNetPager1.PageSize;
                DataTable table1 = bll.show(deptid,index ,size );
                this.Repeater1.DataSource = table1;
                this.Repeater1.DataBind();
            }


 

 


<think>好的,用户的问题是“WEBfrom中如何切换页面”,我需要详细解答如何在WebForms中进行页面切换。首先,我得回忆一下ASP.NETWeb Forms的页面导航方法。常见的几种方式包括使用Response.Redirect、Server.Transfer、跨页提交、HyperLink控件以及JavaScript跳转。 首先,Response.Redirect是最常用的方法,它通过发送一个重定向指令到客户端浏览器,让浏览器请求新的页面。这种方法适用于需要客户端实际跳转到新URL的情况,比如跳转到外部网站或者需要改变地址栏显示的情况。但是要注意,这会引发一次额外的往返,可能影响性能。 接下来是Server.Transfer,它在服务器端直接执行新页面的处理,不会让客户端知道地址的变化。这种方法更高效,因为减少了往返,但地址栏不会更新,用户可能不知道页面已经切换,而且可能会影响相对路径的资源加载,比如图片或CSS文件。跨页提交(Cross-Page Postback)允许将表单数据提交到另一个页面,这在需要将数据传递到目标页时很有用。可以通过设置Button控件的PostBackUrl属性来实现,然后在目标页面使用PreviousPage属性获取源页面的数据。这种方法适合需要处理表单数据并传递到另一个页面的情况。 HyperLink控件则是在页面中添加一个超链接,用户点击后导航到指定的URL。这适用于静态导航,不需要服务器端处理的情况,比如导航菜单。 另外,还可以使用JavaScript进行跳转,比如window.location.href或者location.replace,这在需要客户端脚本触发跳转时使用,比如在某些条件满足后自动跳转页面。 需要解释每种方法的适用场景和注意事项。例如,Response.Redirect会中断当前页面的执行,而Server.Transfer则保持相同的请求上下文。跨页提交适合表单数据的传递,HyperLink是简单的导航方式。JavaScript跳转则适用于客户端触发的导航。 然后,用户可能还想知道如何传递参数,比如使用查询字符串,或者在跨页提交时如何访问源页面的控件。可能需要给出示例代码,比如Response.Redirect("Page2.aspx?param=value"),然后在目标页面用Request.QueryString获取参数。 最后,要确保用户理解不同方法的区别,比如客户端重定向和服务器端传输的区别,以及如何根据需求选择合适的方法。例如,如果需要在服务器端处理后再跳转,可能选择Server.Transfer,而需要更新地址栏或跳转到外部链接则用Response.Redirect。 相关问题部分需要考虑用户可能接下来会问的问题,比如如何传递数据、不同方法的优缺点、如何处理跨页面的数据访问、如何保持状态等。因此,设计的问题要覆盖这些方面,帮助用户进一步深入学习。</think>在ASP.NET Web Forms中切换页面主要有以下几种方式: 1. **Response.Redirect()** ```csharp // 从当前页面跳转到Page2.aspx Response.Redirect("Page2.aspx"); ``` 2. **Server.Transfer()** ```csharp // 服务器端直接传输到新页面 Server.Transfer("Page2.aspx"); ``` 3. **跨页提交(Cross-Page Postback)** ```csharp // 在ASPX页面设置按钮的PostBackUrl属性 <asp:Button ID="btnSubmit" runat="server" PostBackUrl="~/Page2.aspx" Text="提交" /> ``` 4. **HyperLink控件** ```aspx <asp:HyperLink ID="lnkPage" runat="server" NavigateUrl="~/Page2.aspx">转到页面2</asp:HyperLink> ``` 5. **JavaScript跳转** ```csharp // 在代码后台调用 ClientScript.RegisterStartupScript(this.GetType(), "redirect", "window.location.href='Page2.aspx';", true); ``` **方法区别解释**: - `Response.Redirect`:发送302重定向到客户端,会产生新的请求(客户端跳转) - `Server.Transfer`:在服务器端直接切换处理上下文(服务端跳转) - 跨页提交:保留原始页面的上下文,可通过PreviousPage属性访问源页面 - HyperLink:生成标准的HTML锚点标签 - JavaScript跳转:通过客户端脚本控制页面跳转 **注意事项**: 1. 使用`Server.Transfer`时地址栏URL不会改变 2. `Response.Redirect`会中断当前页面的执行 3. 跨页提交需要启用ViewState 4. 跳转时可以通过查询字符串传递参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值