ExtAsp.Net中弹出新窗口并得到返回值(TriggerBox控件)

来源:互联网 发布:python可视化开发工具 编辑:程序博客网 时间:2024/05/17 18:14

   刚进这行不久,什么还不会,这是我的第一篇文章,很简单但折腾了我半天的问题。

  我想在水电录入form页面中通过按钮选择所有房间。主要通过TriggerBox控件的实现。

form 页面前台代码:

<ext:FormRow ID="FormRow1" runat="server"  >
                 <Items>
                 <ext:TriggerBox ID="a" runat="server" Label="房间名称" TriggerIcon="Search">
                </ext:TriggerBox>
                 <ext:HiddenField ID="hdfSjr" runat="server">   </ext:HiddenField>
                 </Items>
                 </ext:FormRow>

<ext:Window ID="Window2" Title="选择房间" Popup="false" EnableIFrame="true" runat="server"
        Target="Self" IsModal="True" Width="400px" Height="300px" >
    </ext:Window>


   Form页面后台代码

 this.a.OnClientTriggerClick = Window2.GetSaveStateReference(a.ClientID, hdfSjr.ClientID) + Window2.GetShowReference("/2052/Aspx/Wygl/PowerWaterRoomList.aspx");

跳转房间list界面的前台代码

  <ext:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
                            </ext:ToolbarSeparator>
                            <ext:Button ID="btnConfirm" Text=" 确认 " Icon="ApplicationFormDelete" runat="server"  OnClick="btnConfirm_Click">
                            </ext:Button>

 <Items>
                  <ext:Grid ID="Grid2" Title="Grid2" PageSize="50" ShowBorder="false" ShowHeader="false" EnableRowNumber="True" AllowPaging="true"
                        AutoWidth="true" runat="server" EnableCheckBoxSelect="True" OnPageIndexChange="Grid2_PageIndexChange"
                        DataKeyNames="oid,RoomNumber">
                        <Columns>
                         <ext:BoundField Width="100px" DataField="RoomNumber" HeaderText="办公楼房间" /> 
                        </Columns>
                    </ext:Grid>
                </Items>

(注意这里的DataKeyNames=就是你要想返回的值,一个是oid必须的。。。)

跳转房间list界面的后台代码

  protected void btnConfirm_Click(object sender, EventArgs e)
        {
         
            string clientName = "";
            string clientOid = "";
            int[] arr = this.Grid2.SelectedRowIndexArray;
            if (arr.Length > 1)
            {
                ExtAspNet.Alert.ShowInTop("只能选中一条!");
            }
            else if (arr.Length < 1)
            {
                ExtAspNet.Alert.ShowInTop("必须选中一条!");
            }
            else
            {
                clientOid = this.Grid2.Rows[arr[0]].DataKeys[0].ToString();
                clientName = this.Grid2.Rows[arr[0]].DataKeys[1].ToString();
                PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(clientName, clientOid) + ActiveWindow.GetHideReference());
            }    
        }

 

 

原创粉丝点击