asp.net frameset里一个frame中获取下拉框、单选框的值并作为参数传递到另一个frame里并显示结果

来源:互联网 发布:淘宝发饰店推荐知乎 编辑:程序博客网 时间:2024/04/30 13:50

      最近在一个项目中,由于根据需求,需要增加一个概览页面,也就是最高权限用户可以对全局概况有一个总的了解,下面就来简单介绍下,主要是对于其中实现的部分小技巧做一下总结。贴图示例如下:

 

      在这个页面中一个frameset里有三个frame,分为左中右三个部分,中间是显示部分,右边的上半部分是快速查询部分,里面主要是由三个下拉框和一个单选框组成,通过点击按钮将参数传递到另外一个页面,并且这个页面是在中间的frame里显示最终的结果。

      看代码:

    <script type="text/javascript" language="javascript">
        function openWindow()
        {
            var year = document.getElementById("ddlYear").options[document.getElementById("ddlYear").selectedIndex].text;
            var city = document.getElementById("ddlCity").options[document.getElementById("ddlCity").selectedIndex].value;
            var county = document.getElementById("ddlCounty").options[document.getElementById("ddlCounty").selectedIndex].value;
            var rbltable =document.getElementById("rblType");
            var rbs= rbltable.getElementsByTagName("INPUT");
            for(var i = 0;i<rbs.length;i++)
            {
                if(rbs[i].checked)
                {
                    var option =rbltable.cells[i].innerText;
                }
            }

            var url = "result.aspx?year=" + year + "&city=" + city + "&county=" + county + "&type=" +escape(option);
            window.open(url,'center','height=100%,width=100%,status=no,toolbar=no,menubar=no,scrollbars=no,location=no');
        }
    </script>

...

<input type="button" value="查询" OnClick="openWindow()" />

....

 

以上是在js中获取服务器端控件dropdownlist和radiobuttonlist控件值的方法:

 

dropdownlist控件:

var city = document.getElementById("ddlCity").options[document.getElementById("ddlCity").selectedIndex].value;

------------------------------------------------------------------------------------------------------------------------------------radiobuttonlist控件:

var rbltable =document.getElementById("rblType"); 
var rbs= rbltable.getElementsByTagName("INPUT"); 

for(var i = 0;i<rbs.length;i++) 

      if(rbs[i].checked) 
     { 
          var option =rbltable.cells[i].innerText; 
     } 

}

 

这里其实可以在后台cs文件里获取到控件的值,并实现跳转,不错,是可以,但是会有点显示的小问题,就是按钮点击过后,radiobuttonlist控件里的文字变大了,很是难看。

后台里获取值很简单:

            string year = Request.QueryString["year"].ToString();
            string city = Request.QueryString["city"].ToString();
            string county = Request.QueryString["county"].ToString();
            string type = Server.UrlDecode(Request.QueryString["type"].ToString()).ToString();


然后做简单处理即可。中间的frame后来的显示效果如下图:

原创粉丝点击