首页 > 代码库 > 【ASP.NET】编程备忘:页面传值之returnValue

【ASP.NET】编程备忘:页面传值之returnValue

在ASP.NET页面间传值的方式有很多,大致归为URL传值、内置对象传值这两类。当然宽泛地讲大致有这么些:

Form表单传值:GET、POST(QueryString、PostBackUrl)

内置对象:Cookie、Session、Application、Cache、Response.Redirect、Server.Transfer

Context

隐藏域

静态变量

文件:web.config、Machine.config......

注:严格地说文件并不能说成是页面间传值的一种方式。它和数据库一样是数据存储持久化的一种。不是单纯的负责页面间传值的载体。

关于这两类,在李天平的《项目中的.NET》一书总介绍都很详解。当然网上也有很多人家总结的。当然在WinFomr窗体中还有属性传值。这里就不做赘述。今天说说另外一种传值方式:returnValue。为了简单的展示效果,我只是采用了两个简单的html页面来说明。HtmlPage.html:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>ReturnValue传值</title>    <script type="text/javascript">        function OpenProjFrm()        {            //判断用户的选择为确定或是取消            var returnvalue;              //得到返回值            returnvalue=window.showModalDialog(HtmlPage2.html,‘‘,dialogHeight: 295px; dialogWidth: 400px;  edge: Raised; center: Yes; help: no; resizable: Yes; status: no;);            //确定用户选择            if (returnvalue != "" && returnvalue != undefined)                alert(returnvalue);        }    </script></head><body>    <form action="/" method="post">        <input type="button" value="SeletedValue" onclick="OpenProjFrm()" />    </form></body></html>
View Code

HtmlPage2.html:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>选择省份</title>    <script type="text/javascript">        window.returnValue = "";        function confirm() {            var selectedControls = document.getElementsByName("City");            for (var i = 0; i < selectedControls.length; i++) {                if (selectedControls[i].checked == true)                    returnValue += " " + selectedControls[i].value;            }            window.close();        }        //取消按钮Cancel        function cancel() {            window.returnValue = "";            window.close();        }    </script></head><body>    <form action="/" method="post">        <div style="width: 70%; height: 50%; margin: 25% auto;">            <div>                <input type="checkbox" value="北京" name="City" />北京                <input type="checkbox" value="上海" name="City" />上海                <input type="checkbox" value="广州" name="City" />广州                <input type="checkbox" value="深圳" name="City" />深圳                <input type="checkbox" value="武汉" name="City" />武汉            </div>            <div style="padding: 5% 0 0 20%">                <input type="button" value="确定" onclick="confirm()" />&nbsp;&nbsp;&nbsp;&nbsp;                <input type="button" value="取消" onclick="cancel()" />            </div>        </div>    </form></body></html>
View Code

实际上项目中,可能不会有这么简单的用例,这里仅仅是展示效果。