当前位置:编程学习 > C#/ASP.NET >>

子页面listview选择项添加到textbox,再传值到父页面为空?

如题,用javascript函数传值,如果在子页面的textbox中手动输入值,则能成功传回到父页面的textbox中;如果在子页面的listview选择某项添加到textbox(能成功添加到textbox),再传值给父页面的textbox,则为空值.请问这个是怎么个原因?
代码贴出来,请高手帮忙分析一下.
子页面前台主要代码:
......
<script type="text/javascript">
        function execute() {
            window.returnValue = document.getElementById("txtbanzu").value;           
            window.close();
        }  
    </script>
......
<asp:TextBox ID="txtbanzu" runat="server" ontextchanged="txtbanzu_TextChanged"></asp:TextBox>
<input id="Button1" type="button" value="确定" runat="server" onclick="execute()"/>
......
子页面后台主要代码:
......
//绑定listview......略
//listview选择项添加到txtbanzu
protected void lbxBanZu_SelectedIndexChanged(object sender, EventArgs e)
    {
        txtbanzu.Text = lbxBanZu.SelectedItem.Text;
    }

父页面前台主要代码:
......
<script language="javascript" type="text/javascript">
        function openWindow() {
            var result = window.showModalDialog("QC1_BanZuList.aspx", "DialogHeigth=40,DialogWidth:100px,location:no,menubar:no,toolbar:no,status:no");
            if (result)
                document.getElementById("txtBanZu").value = result;
        }  
    </script>
......
 <asp:TextBox ID="txtBanZu" runat="server" class="text" onclick="openWindow()" ></asp:TextBox>
父页面无后台代码.
JavaScript listview textbox --------------------编程问答-------------------- 不要沉啊 --------------------编程问答-------------------- 你获取这个listview里的值有问题,看下下面的ListView是如何取某行和某列值的:

if (this.lstwlview.SelectedIndices.Count > 0)
            {
                if (MessageBox.Show("确认删除该条码?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.OK)
                {
                     //获得选择的序列号
                    string ss = "";
                    if (lstwlview.SelectedIndices != null && lstwlview.SelectedIndices.Count>0)
                    {
                        ListView.SelectedIndexCollection c = lstwlview.SelectedIndices;
                        ss = lstwlview.Items[c[1]].Text;

                        //ss = lstwlview.Items[c[0]].SubItems[1].Text;// 表示选中行的第二列
                        MessageBox.Show(ss);
                    }
                }
            }
--------------------编程问答--------------------
引用 2 楼 dada1989718 的回复:
你获取这个listview里的值有问题,看下下面的ListView是如何取某行和某列值的:

if (this.lstwlview.SelectedIndices.Count > 0)
            {
                if (MessageBox.Show("确认删除该条码?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.OK)
                {
                     //获得选择的序列号
                    string ss = "";
                    if (lstwlview.SelectedIndices != null && lstwlview.SelectedIndices.Count>0)
                    {
                        ListView.SelectedIndexCollection c = lstwlview.SelectedIndices;
                        ss = lstwlview.Items[c[1]].Text;

                        //ss = lstwlview.Items[c[0]].SubItems[1].Text;// 表示选中行的第二列
                        MessageBox.Show(ss);
                    }
                }
            }

这个例子是winform的,webform不知道该怎样判断了,属性不同 --------------------编程问答-------------------- 哪位大侠帮忙分析一下 --------------------编程问答-------------------- 再加20分!!!这个问题很怪异,难道就没人解决的了吗?!!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,