Server.Transfer 在两个窗体之间传递参数用法
2010-08-15 22:44
501 查看
Server.Transfer可用于两个窗体之间传递参数
例子:从订单列表页生成订货单,传递多个订单ID到订货单生成页面
订单列表页面前台代码:
后台代码:
接收页面后台代码:
然后可根据传过来的参数继续下一步操作
例子:从订单列表页生成订货单,传递多个订单ID到订货单生成页面
订单列表页面前台代码:
<asp:GridView ID="myGridView" runat="server" AutoGenerateColumns="False" Width="98%" DataKeyNames="SalesOrderID" OnRowDataBound="myGridView_RowDataBound"> <Columns> <asp:TemplateField> <HeaderTemplate> <input onclick="checkFormAll(this.checked)" type="checkbox"> </HeaderTemplate> <ItemTemplate> <asp:CheckBox ID="chkSelect" runat="server"></asp:CheckBox> </ItemTemplate> <ItemStyle Width="20px" /> </asp:TemplateField> <asp:BoundField DataField="SalesOrderID" HeaderText="ID" ReadOnly="True"> <ItemStyle Width="50px" /> </asp:BoundField> <asp:TemplateField HeaderText="订单详情"> <ItemTemplate> <a href="javascript:void(0)" mce_href="javascript:void(0)" onclick="OpenModalDialog('SalesOrderShow.aspx?SalesOrderID=<%# Eval("SalesOrderID") %>');"> 查看</a> </ItemTemplate> <ItemStyle Width="60px" /> </asp:TemplateField> <asp:TemplateField HeaderText="用料单明细"> <ItemTemplate> <a href="javascript:void(0)" mce_href="javascript:void(0)" onclick="OpenModalDialog('NeedMaterialDetailShow.aspx?SalesOrderID=<%# Eval("SalesOrderID") %>');"> 查看</a> </ItemTemplate> <ItemStyle Width="70px" /> </asp:TemplateField> </Columns> </asp:GridView> < br> <asp:Button ID="btnCreatPurchaseOrderHeader" runat="server" Font-Size="16px" Height="30px" OnClick="btnCreatPurchaseOrderHeader_Click" Text="根据已选订单生成订货单" Width="200px" />
后台代码:
//定义一个公共变量 保存选中的订单列表 供生成订货单页面使用 public string strArrSalesOrderID = string.Empty; /// <summary> /// Handles the Click event of the btnCreatPurchaseOrderHeader control.根据所选的订单生成订货单 /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void btnCreatPurchaseOrderHeader_Click(object sender, EventArgs e) { //遍历所有的 chkSelect foreach (GridViewRow gr in this.myGridView.Rows) { CheckBox chk = (CheckBox)gr.FindControl("chkSelect"); if (chk.Checked) { strArrSalesOrderID = strArrSalesOrderID + this.myGridView.DataKeys[gr.RowIndex].Values["SalesOrderID"].ToString() + ","; } } if (strArrSalesOrderID != string.Empty) { //去掉后面的逗号 strArrSalesOrderID = strArrSalesOrderID.Substring(0, strArrSalesOrderID.Length - 1); Server.Transfer("PurchaseOrderHeaderEditFromSalesOrder.aspx"); } else { UART.Common.MsgBox.Alert("请选择订单!", Request.Url.ToString()); } }
接收页面后台代码:
//设置一个订货单ID字符串,保存生成的订货单ID private string strArrPurchaseOrderHeaderID = string.Empty; /// <summary> /// Handles the Load event of the Page control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void Page_Load(object sender, EventArgs e) { //UART.Common.CheckRoleAndPermission.CheckLogin(); //UART.Common.CheckRoleAndPermission.Check(0, 10); if (!this.IsPostBack) { //实例上一个窗体SalesOrderListForPurchaseOrderHeader.aspx SalesOrderListForPurchaseOrderHeader newWeb = (SalesOrderListForPurchaseOrderHeader)Context.Handler; ; this.lblstrArrSalesOrderID.Text = newWeb.strArrSalesOrderID; //绑定订单列表 this.BindSalesOrder(); } }
然后可根据传过来的参数继续下一步操作
相关文章推荐
- Server.Transfer 在两个窗体之间传递参数用法
- 使用Server.Transfer在两个ASPX页面间传递参数
- 使用Server.Transfer在两个ASPX页面间传递参数
- 急需解决------关于在两个窗体之间传递参数的问题
- 在两个ASP.NET页面之间传递变量 (QueryString,Session和Server.Transfer)
- 使用Server.Transfer在两个ASPX页面间传递参数
- aspx之间使用Server.Transfer跳转并传递参数
- C#: server.transfer 在两个ASP.NET页面之间传递值
- 在两个ASP.NET页面之间传递值[querystring,session,server.Transfer][转]
- 在两个ASP.NET页面之间传递值[querystring,session,server.Transfer]
- 在两个ASP.NET页面之间传递值[querystring,session,server.Transfer]
- 急需解决------关于在两个窗体之间传递参数的问题---------解决了
- 使用Server.Transfer在页面之间传递数据
- c# winform窗体之间传递参数问题总结
- 两个窗体之间的checkbox传递
- 两个窗体间的参数传递。
- 使用事件和委托再两个窗体之间传递数据(原创)
- Android Activity之间相互调用与传递参数的原理与用法分析
- struts2 两个action之间传递参数
- 使用Intent对象来实现两个(或多个)Activity之间的跳转,并实现在Activity之间传递参数。