zoukankan      html  css  js  c++  java
  • 使用javascript做页面间传值

      使用javascript做页面间传值     CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

    大家都知道,Asp.Net中页面传值主要可以用SessionApplicationPostGet传值。但是也可以通过javascript脚本实现页面传值。因为大家经常在网页上看到,比如叫你选择日期啊,负责人等,它们有时候就是一个图标,然后,你可以点击这个图标,弹出一个小页面,然后你就可以在这个小页面里进行选择了。当然,这也可以用下拉列表等做的,今天,我给大家介绍一个使用javascript做页面传值。

         第一个页面有一项是负责人,然后后面是一个TextBoxTextBox后面是一个小图标,点击它就可以在一个小页面里进行选择其中一个负责人,然后这个负责人的名字,就显示在第一个页面的TextBox中。

        选择后效果图:

    第一个页面前台代码:

    脚本代码

    <script language="javascript">

                function showmanager()

                {

                var w=window.open('ManagerSelect.aspx','新的页面','scrollbars=yes,resizable=no,height=300,width=400');

                }

                </script>

    图片做成一个链接

    <a onmouseover="window.status='选择负责人';return true;" onmouseout="window.status='';return true;"

                                     href="javascript:showmanager();"><IMG style="Z-INDEX: 103; LEFT: 344px; POSITION: absolute; TOP: 96px" alt="选择负责人" src="images/tt111.jpg"></a>

    第二个页面

    前台:

    Javascript代码

    function setUser()

    {

                                    

                                     window.opener.Form1.TextBox1.value = document.Form1.TextBox1.value;

                                     window.close();

                                     //return true;

                             

    }

    function closeWin()

    {

      window.close();

    }

    DataGrid代码

    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 40px; POSITION: absolute; TOP: 16px" runat="server"

                                     Width="328px" Height="128px" PageSize="3" AllowPaging="True" AutoGenerateColumns="False">

                                     <SelectedItemStyle BackColor="Fuchsia"></SelectedItemStyle>

                                     <Columns>

                                            <asp:TemplateColumn HeaderText="用户名">

                                                   <ItemTemplate>

                                                          <asp:LinkButton id="LinkButton1" Text='<%# DataBinder.Eval(Container, "DataItem.LastName") %>' runat="server" >LinkButton</asp:LinkButton>

                                                   </ItemTemplate>

                                            </asp:TemplateColumn>

                                            <asp:BoundColumn DataField="FirstName" HeaderText=""></asp:BoundColumn>

                                            <asp:BoundColumn DataField="BirthDate" HeaderText="生日"></asp:BoundColumn>

                                     </Columns>

                                     <PagerStyle Mode="NumericPages"></PagerStyle>

    </asp:DataGrid>

    后台代码:

    static DataSet ds;

    private void Page_Load(object sender, System.EventArgs e)

    {

    // 在此处放置用户代码以初始化页面

                      

    this.BtnConfirm.Attributes.Add("onclick","setUser()");

    this.BtnClose.Attributes.Add("onclick", "closeWin()");

    if(!this.IsPostBack)

     {

      this.bindtoDG();

                      

     }

    }

    //数据绑定到DataGrid

    private void bindtoDG()

    {

    SqlConnection con=new

    SqlConnection("server=.;uid=sa;pwd=sa;database=Northwind");

    con.Open(); 

    SqlDataAdapter sda=new SqlDataAdapter();

    sda.SelectCommand=new SqlCommand("select * from Employees",con);

    DataSet ds1=new DataSet();

    sda.Fill(ds1);

                      

    this.DataGrid1.DataSource=ds1.Tables[0].DefaultView;

    ds=ds1;

    this.DataBind();

               

    con.Close();

    }

    //换页

    private void DataGrid1_PageIndexChanged(object source,

    System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

    {

                      

    this.DataGrid1.CurrentPageIndex=e.NewPageIndex;

                       this.bindtoDG();

    }

    //选择一项后读取其中的数据

    private void DataGrid1_ItemCommand(object source,

    System.Web.UI.WebControls.DataGridCommandEventArgs e)

    {

         if((int)e.Item.ItemIndex<0) return;//没有选择时返回

         this.DataGrid1.SelectedIndex=e.Item.ItemIndex;

    //此页面的TextBox1用来存放名字  用来传给上一个页面的TextBox1         

    this.TextBox1.Text=ds.Tables[0].Rows[(int)e.Item.ItemIndex+this.DataGr

    id1.CurrentPageIndex*this.DataGrid1.PageSize]["LastName"].ToString();

    }



    ///备注以上每次都往服务器提交

    修改如下:

    function setemail(str) {

    //window.opener.Form1.txt_query_email.value = document.form1.txt_emailselected.value;                 window.opener.Form1.txt_query_email.value = str; window.close(); }



    <ItemTemplate  >
        <INPUT id="Button1" type="button" value="选择"                           onclick="setemail('<%#DataBinder.Eval(Container.DataItem, "email") %>');">
        </ItemTemplate>







     

     

  • 相关阅读:
    SQL分页存储过程
    ASP.NET 程序优化
    SQL2005数据导入导出
    跨服务器修改表同时按照顺序关联两个没有关系的表
    SQL function中使用rand随机函数
    Ajax的一些体会
    XCode4 App Store提交小结
    XCode4 App Store提交小结
    wzplayer for mips成功面世,支持dlna,mms,http,rtsp
    tlplayer support smb
  • 原文地址:https://www.cnblogs.com/smallfa/p/985709.html
Copyright © 2011-2022 走看看