欢迎光临
我们一直在努力

关于数据返回给调用页面-ASP教程,数据库相关

建站超值云服务器,限时71元/月

我们经常需要将数据返回给调用页面,下面是基本实现方式。

假设,有两个页子selectdate.aspx,calendar.aspx.

需要在selectdate.aspx做个连接,点击后打开calendar.aspx,然后在calendar.aspx中选择日期,将选择的日期返回给

selectdate.aspx(呵呵,不知道我说明白没有)

算了,看看代码吧,自然就明白了。

对了,还需要个文件用来装javascript的script.js

===============================================================================================

selectdate.aspx

—————————————-

<%@ page language="c#" codebehind="detail.aspx.cs" autoeventwireup="false" inherits="calendar.detail" %>

<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >

<html>

<head>

<title>detail</title>

<meta name="generator" content="microsoft visual studio .net 7.1">

<meta name="code_language" content="c#">

<meta name="vs_defaultclientscript" content="javascript">

<meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">

<script language="javascript" src="script.js"></script>

</head>

<body>

<form id="form1" method="post" runat="server">

<asp:textbox id="completiondate" style="z-index: 101; left: 120px; position: absolute; top: 72px"

runat="server"></asp:textbox>

<a href="javascript:opencalendar(completiondate, true)"><img style="z-index: 102; left: 296px; width: 24px; position: absolute; top: 72px; height: 16px"

height="16" alt="" src="img/calendar.gif" width="24"></a>

</form>

</body>

</html>

——————————————————————–

selectdate.aspx.cs

———————————————————————-

sing system;

using system.collections;

using system.componentmodel;

using system.data;

using system.drawing;

using system.web;

using system.web.sessionstate;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.htmlcontrols;

namespace calendar

{

/// <summary>

/// detail 的摘要说明。

/// </summary>

public class detail : system.web.ui.page

{

protected system.web.ui.webcontrols.textbox completiondate;

private void page_load(object sender, system.eventargs e)

{

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

}

#region web 窗体设计器生成的代码

override protected void oninit(eventargs e)

{

//

// codegen: 该调用是 asp.net web 窗体设计器所必需的。

//

initializecomponent();

base.oninit(e);

}

/// <summary>

/// 设计器支持所需的方法 – 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void initializecomponent()

{

this.load += new system.eventhandler(this.page_load);

}

#endregion

}

}

===========================================================================

calendar.aspx

=========================================================================

<%@ page language="c#" codebehind="calendar.aspx.cs" autoeventwireup="false" inherits="calendar.webform1" %>

<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >

<html>

<head>

<title>webform1</title>

<meta name="generator" content="microsoft visual studio .net 7.1">

<meta name="code_language" content="c#">

<meta name="vs_defaultclientscript" content="javascript">

<meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">

<script language="javascript">

function closewindow()

{

self.close();

}

</script>

</head>

<body>

<form id="calendar" method="post" runat="server">

<asp:calendar id="cal" style="z-index: 101; left: 96px; position: absolute; top: 16px" runat="server"

borderwidth="1px" backcolor="#ffffcc" width="220px" daynameformat="firstletter" forecolor="#663399"

height="200px" font-size="8pt" font-names="verdana" bordercolor="#ffcc66" showgridlines="true">

<todaydaystyle forecolor="white" backcolor="#ffcc66"></todaydaystyle>

<selectorstyle backcolor="#ffcc66"></selectorstyle>

<nextprevstyle font-size="9pt" forecolor="#ffffcc"></nextprevstyle>

<dayheaderstyle height="1px" backcolor="#ffcc66"></dayheaderstyle>

<selecteddaystyle font-bold="true" backcolor="#ccccff"></selecteddaystyle>

<titlestyle font-size="9pt" font-bold="true" forecolor="#ffffcc" backcolor="#990000"></titlestyle>

<othermonthdaystyle forecolor="#cc9966"></othermonthdaystyle>

</asp:calendar>

<asp:button id="okbutton" style="z-index: 102; left: 96px; position: absolute; top: 224px" runat="server"

text="o k"></asp:button>

<a href="javascript:closewindow()">

<asp:button id="cancelbutton" style="z-index: 103; left: 136px; position: absolute; top: 224px"

runat="server" text="cancel"></asp:button>

</a>

<asp:label id="lbldate" style="z-index: 104; left: 216px; position: absolute; top: 232px" runat="server"></asp:label>

<asp:dropdownlist id="monthselect" style="z-index: 105; left: 96px; position: absolute; top: 256px"

runat="server" autopostback="true"></asp:dropdownlist>

<asp:dropdownlist id="yearselect" style="z-index: 106; left: 248px; position: absolute; top: 256px"

runat="server" autopostback="true"></asp:dropdownlist>

<input id="datechosen" type="hidden" name="datechosen" runat="server"> //这个很重要

</form>

</body>

</html>

—————————————————————————————————————————

calendar.aspx.cs

————————————————————————————————————————–

using system;

using system.collections;

using system.componentmodel;

using system.data;

using system.drawing;

using system.web;

using system.web.sessionstate;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.htmlcontrols;

using system.configuration;

namespace calendar

{

/// <summary>

/// webform1 的摘要说明。

/// </summary>

public class webform1 : system.web.ui.page

{

protected system.web.ui.webcontrols.calendar cal;

protected system.web.ui.webcontrols.button okbutton;

protected system.web.ui.webcontrols.button cancelbutton;

protected system.web.ui.webcontrols.label lbldate;

protected system.web.ui.webcontrols.dropdownlist monthselect;

protected system.web.ui.htmlcontrols.htmlinputhidden datechosen;

protected system.web.ui.webcontrols.dropdownlist yearselect;

private void page_load(object sender, system.eventargs e)

{

if (!page.ispostback)

{

string selected = request.querystring["selected"];

string id = request.querystring["id"];

string form = request.querystring["formname"];

string postback = request.querystring["postback"];

cal.firstdayofweek = (system.web.ui.webcontrols.firstdayofweek)1;//(system.web.ui.webcontrols.firstdayofweek)convert.toint32(configurationsettings.appsettings[global.cfgkeyfirstdayofweek]);

try

{

cal.selecteddate = cal.visibledate = convert.todatetime(selected);

}

catch

{

cal.selecteddate = cal.visibledate = datetime.today;

}

fillcalendarchoices();

selectcorrectvalues();

okbutton.attributes.add("onclick", "window.opener.setdate(" + form + "," + id + ", document.calendar.datechosen.value," + postback + ");");

cancelbutton.attributes.add("onclick", "closewindow()");

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

}

private void fillcalendarchoices()

{

datetime thisdate = new datetime(datetime.today.year,1,1);

for (int x=0; x<12; x++)

{

listitem li = new listitem(thisdate.tostring("mmmm"), thisdate.month.tostring());

monthselect.items.add(li);

thisdate = thisdate.addmonths(1);

}

for (int y=1994; y <= thisdate.year; y++)

{

yearselect.items.add(y.tostring());

}

}

private void selectcorrectvalues()

{

lbldate.text = cal.selecteddate.toshortdatestring();

datechosen.value = lbldate.text;

monthselect.selectedindex = monthselect.items.indexof(monthselect.items.findbyvalue(cal.selecteddate.month.tostring()));

yearselect.selectedindex = yearselect.items.indexof(yearselect.items.findbyvalue(cal.selecteddate.year.tostring()));

}

private void cal_selectionchanged(object sender, system.eventargs e)

{

cal.visibledate = cal.selecteddate;

selectcorrectvalues();

}

private void monthselect_selectedindexchanged(object sender, system.eventargs e)

{

cal.selecteddate = cal.visibledate

= new datetime(convert.toint32(yearselect.selecteditem.value),

convert.toint32(monthselect.selecteditem.value), 1);;

selectcorrectvalues();

}

private void yearselect_selectedindexchanged(object sender, system.eventargs e)

{

cal.selecteddate = cal.visibledate

= new datetime(convert.toint32(yearselect.selecteditem.value),

convert.toint32(monthselect.selecteditem.value), 1);;

selectcorrectvalues();

}

#region web 窗体设计器生成的代码

override protected void oninit(eventargs e)

{

//

// codegen: 该调用是 asp.net web 窗体设计器所必需的。

//

initializecomponent();

base.oninit(e);

}

/// <summary>

/// 设计器支持所需的方法 – 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void initializecomponent()

{

this.cal.selectionchanged += new system.eventhandler(this.cal_selectionchanged);

//this.okbutton.click += new system.eventhandler(this.okbutton_click);

//this.cancelbutton.click += new system.eventhandler(this.cancelbutton_click);

this.monthselect.selectedindexchanged += new system.eventhandler(this.monthselect_selectedindexchanged);

this.yearselect.selectedindexchanged += new system.eventhandler(this.yearselect_selectedindexchanged);

this.load += new system.eventhandler(this.page_load);

this.id = "calendar";

}

#endregion

private void cancelbutton_click(object sender, system.eventargs e)

{

}

private void okbutton_click(object sender, system.eventargs e)

{

}

}

}

==========================================================================================

script.js

===================================================================================

var popup;

function opencalendar(idname, postback)

{

popup = window.open(calendar.aspx?formname= + document.forms[0].name +

&id= + idname + &selected= + document.forms[0].elements[idname].value + &postback= + postback,

popupcal,

width=285,height=420,left=200,top=250);

}

function setdate(formname, id, newdate, postback)

{

eval(var theform = document. + formname + ;);

popup.close();

theform.elements[id].value = newdate;

if (postback)

__dopostback(id,);

}

=============================================================================

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 关于数据返回给调用页面-ASP教程,数据库相关
分享到: 更多 (0)

相关推荐

  • 暂无文章