c#版:
using system;
using system.web;
using system.web.ui;
using system.collections;
using system.collections.specialized;
using system.globalization;
using system.reflection;
using system.text;
[assembly: assemblytitle("")]
[assembly: assemblydescription("a quickstart tutorial assembly")]
[assembly: assemblyconfiguration("")]
[assembly: assemblycompany("microsoft corporation")]
[assembly: assemblyproduct("microsoft quickstart tutorials")]
[assembly: assemblycopyright(" microsoft corporation. all rights reserved.")]
[assembly: assemblytrademark("")]
[assembly: assemblyculture("")]
[assembly: assemblyversion("1.1.*")]
namespace acme
{
public class calendar : control, ipostbackeventhandler, ipostbackdatahandler
{
private string[] monthnames = new string[12];
private datetime currentdate = datetime.now;
private string backcolor = "#dcdcdc";
private string forecolor = "#eeeeee";
protected override void oninit(eventargs e)
{
page.registerrequirespostback(this);
currentdate = datetime.now;
monthnames[0] = "january";
monthnames[1] = "february";
monthnames[2] = "march";
monthnames[3] = "april";
monthnames[4] = "may";
monthnames[5] = "june";
monthnames[6] = "july";
monthnames[7] = "august";
monthnames[8] = "september";
monthnames[9] = "october";
monthnames[10] = "november";
monthnames[11] = "december";
}
protected override void loadviewstate(object viewstate)
{
// if weve done a post-back, the old date will be available to us
if (null != viewstate)
{
currentdate = datetime.parse((string) viewstate);
}
}
public void raisepostbackevent(string eventargument)
{
//page.response.write("raisepostbackevent called!!!");
if (eventargument == null)
{
return;
}
// keep track of old date (for event firing purposes)
datetime olddate = currentdate;
if (string.compare("navnextmonth", eventargument, true, cultureinfo.invariantculture) == 0)
{
currentdate = currentdate.addmonths(1);
}
else if (string.compare("navprevmonth", eventargument, true, cultureinfo.invariantculture) == 0)
{
currentdate = currentdate.addmonths(-1);
}
else
{
int dayselected = int32.parse(eventargument);
currentdate = new datetime(currentdate.year, currentdate.month, dayselected);
}
}
protected override object saveviewstate()
{
// save currentdate out as view state for postback scenarios
return currentdate.tostring();
}
protected override void render(htmltextwriter output)
{
if ((page.request.useragent != null) &&
(page.request.browser.browser.toupper(cultureinfo.invariantculture).indexof("ie") > -1) &&
(double.parse(page.request.browser.version) >= 5.5))
renderuplevel(output);
else
renderdownlevel(output);
}
protected void renderuplevel(htmltextwriter output)
{
output.writeline("<input name=" + uniqueid + "_currentdate id=" + uniqueid + "_currentdate type=hidden>");
output.writeline("<span id=" + uniqueid + "></span>");
output.writeline("<script language=jscript>drawcalendar(" + uniqueid + ", " + currentdate.year.tostring() + "/" + currentdate.month.tostring() + "/" + currentdate.day.tostring() + ");</script>");
}
protected override void onprerender(eventargs e)
{
stringbuilder dhtmlfunction = new stringbuilder();
dhtmlfunction.append( "<script language=javascript> \n" );
dhtmlfunction.append( " function drawcalendar(calname, newdate) \n" );
dhtmlfunction.append( " { \n" );
dhtmlfunction.append( " var currentdate = new date(newdate);\n" );
dhtmlfunction.append( " var montharray = new array(january, february, march, april, may, june, july, august, september, october, november, december);\n" );
dhtmlfunction.append( " var monthdays = new array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);\n" );
dhtmlfunction.append( " var caltext;\n" );
dhtmlfunction.append( " caltext = <table bgcolor=#dcdcdc border=0 height=190 valign=top>;\n" );
dhtmlfunction.append( " caltext = caltext + <tr><td>;\n" );
dhtmlfunction.append( " caltext = caltext + <center>;\n" );
dhtmlfunction.append( " caltext = caltext + \"<a href=javascript:drawcalendar(\\\"\" + calname + \"\\\", \\\"\" + currentdate.getfullyear() + \"/\" + currentdate.getmonth() + \"/\" + currentdate.getdate() + \"\\\")>\";\n" );
dhtmlfunction.append( " caltext = caltext + <img src=/quickstart/aspplus/images/left4.gif width=11 height=11 border=0></a>;\n" );
dhtmlfunction.append( " caltext = caltext + <b> + montharray[currentdate.getmonth()] + + currentdate.getfullyear() + </b>;\n" );
dhtmlfunction.append( " caltext = caltext + \" <a href=javascript:drawcalendar(\\\"\" + calname + \"\\\", \\\"\" + currentdate.getfullyear() + \"/\" + (currentdate.getmonth() + 2) + \"/\" + currentdate.getdate() + \"\\\")>\";\n" );
dhtmlfunction.append( " caltext = caltext + <img src=/quickstart/aspplus/images/right4.gif width=11 height=11 border=0></a>;\n" );
dhtmlfunction.append( " caltext = caltext + </center>;\n" );
dhtmlfunction.append( " caltext = caltext + </td></tr>;\n" );
dhtmlfunction.append( " caltext = caltext + <tr valign=top><td valign=top>;\n" );
dhtmlfunction.append( " caltext = caltext + <table border=1 bgcolor=#eeeeee height=160>;\n" );
dhtmlfunction.append( " caltext = caltext + <tr height=20>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> sun </td>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> mon </td>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> tue </td>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> wed </td>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> thu </td>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> fri </td>;\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23> sat </td>;\n" );
dhtmlfunction.append( " caltext = caltext + </tr>;\n" );
dhtmlfunction.append( " caltext = caltext + <tr>;\n" );
dhtmlfunction.append( " var numdays = monthdays[currentdate.getmonth()];\n" );
dhtmlfunction.append( " var firstdayofmonth = new date(currentdate.getfullyear(),currentdate.getmonth(),1);\n" );
dhtmlfunction.append( " firstday = firstdayofmonth.getday();\n" );
dhtmlfunction.append( " for (var x=0; x<firstday; x++)\n" );
dhtmlfunction.append( " {\n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23></td>\n" );
dhtmlfunction.append( " }\n" );
dhtmlfunction.append( " for (var x=1; x<=numdays; x++) \n" );
dhtmlfunction.append( " { \n" );
dhtmlfunction.append( " if (currentdate.getdate() == x) \n" );
dhtmlfunction.append( " { \n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23>;\n" );
dhtmlfunction.append( " caltext = caltext + <font color=red><b><u> + x + </u></b></font>;\n" );
dhtmlfunction.append( " caltext = caltext + </td>;\n" );
dhtmlfunction.append( " }\n" );
dhtmlfunction.append( " else \n" );
dhtmlfunction.append( " { \n" );
dhtmlfunction.append( " caltext = caltext + <td align=right width=23>;\n" );
dhtmlfunction.append( " caltext = caltext + \"<a href=javascript:drawcalendar(\\\"\" + calname + \"\\\", \\\"\" + currentdate.getfullyear() + \"/\" + (currentdate.getmonth()+1) + \"/\" + x + \"\\\")>\" + x + \"</a>\";" );
dhtmlfunction.append( " caltext = caltext + </td>;\n" );
dhtmlfunction.append( " }\n" );
dhtmlfunction.append( " if (((firstday+x) % 7) == 0)\n" );
dhtmlfunction.append( " {\n" );
dhtmlfunction.append( " caltext = caltext + </tr><tr>;\n" );
dhtmlfunction.append( " }\n" );
dhtmlfunction.append( " }\n" );
dhtmlfunction.append( " caltext = caltext + </tr>;" );
dhtmlfunction.append( " caltext = caltext + </table></td></tr></table>;" );
dhtmlfunction.append( " var calendarspan = document.all(calname);" );
dhtmlfunction.append( " if (calendarspan != null)" );
dhtmlfunction.append( " calendarspan.innerhtml = caltext;" );
dhtmlfunction.append( " var calendarvalue = document.all(calname + _currentdate);" );
dhtmlfunction.append( " if (calendarvalue != null)" );
dhtmlfunction.append( " calendarvalue.value = + (currentdate.getmonth() + 1) + / + currentdate.getdate() + / + currentdate.getfullyear();" );
dhtmlfunction.append( " } \n" );
dhtmlfunction.append( "</script>\n" );
if ((page.request.useragent != null) &&
(page.request.browser.browser.toupper(cultureinfo.invariantculture).indexof("ie") > -1) &&
(double.parse(page.request.browser.version) >= 5.5))
page.registerclientscriptblock("acme_calendar_dhtml", dhtmlfunction.tostring());
}
protected void renderdownlevel(htmltextwriter output)
{
// output calendar header
output.writeline("<table bgcolor=" + backcolor + " border=0 height=190 valign=top><tr><td>");
output.writeline("<table bgcolor=" + backcolor + " border=0 height=190 valign=top>");
output.writeline("<tr><td>");
output.writeline("<center>");
output.writeline(" <a href=\"javascript:" + page.getpostbackeventreference(this, "navprevmonth") + "\">");
output.writeline("<img src=/quickstart/aspplus/images/left4.gif width=11 height=11 border=0></a>");
output.writeline(" <b>" + monthnames[currentdate.month-1] + " " + currentdate.year.tostring() + "</b>");
output.writeline(" <a href=\"javascript:" + page.getpostbackeventreference(this, "navnextmonth") + "\">");
output.writeline("<img src=/quickstart/aspplus/images/right4.gif width=11 height=11 border=0></a>");
output.writeline("</center>");
output.writeline("</td></tr>");
output.writeline("<tr valign=top><td valign=top>");
output.writeline("<table border=1 bgcolor=" + forecolor + " height=160>");
output.writeline("<tr height=20>");
output.writeline(" <td align=right width=23> sun </td>");
output.writeline(" <td align=right width=23> mon </td>");
output.writeline(" <td align=right width=23> tue </td>");
output.writeline(" <td align=right width=23> wed </td>");
output.writeline(" <td align=right width=23> thu </td>");
output.writeline(" <td align=right width=23> fri </td>");
output.writeline(" <td align=right width=23> sat </td>");
output.writeline("</tr>");
output.writeline("<tr>");
// calculate how many days are in the month
int numdays = datetime.daysinmonth(currentdate.year, currentdate.month);
// calculate what day of week the first day of the month is on
int firstday = convert.toint32(new datetime(currentdate.year, currentdate.month, 1).dayofweek);
// pre-day padding
for (int x=0; x<firstday; x++)
{
output.writeline("<td align=right width=23></td>");
}
// output each day
for (int x=1; x<=numdays; x++)
{
if (currentdate.day == x)
{
output.write("<td align=right width=23>");
output.write("<font color=red><b><u>" + x.tostring() + "</u></b></font>");
output.writeline("</td>");
}
else
{
output.write("<td align=right width=23>");
output.write("<a href=\"javascript:" + page.getpostbackeventreference(this, x.tostring()) + "\">");
output.write(x.tostring() + "</a>");
output.writeline("</td>");
}
// perpage row break as appropriate
if (((firstday+x) % 7) == 0)
{
output.writeline("</tr><tr>");
}
}
output.writeline("</tr>");
output.writeline("</table></td></tr></table></table>");
}
public datetime date
{
get
{
return currentdate;
}
set
{
currentdate = value;
}
}
public string backcolor
{
get
{
return backcolor;
}
set
{
backcolor = value;
}
}
public string forecolor
{
get
{
return forecolor;
}
set
{
forecolor = value;
}
}
public bool loadpostdata(string postdatakey, namevaluecollection values)
{
string clientdate = values[uniqueid + "_currentdate"];
if (clientdate != null) {
try {
currentdate = datetime.parse(clientdate);
} catch(exception) {
currentdate = datetime.now;
}
}
return false;
}
public void raisepostdatachangedevent()
{
}
}
}
js版:
import system;
import system.collections;
import system.collections.specialized;
import system.globalization;
import system.text;
import system.web;
import system.web.ui;
import system.reflection;
[assembly: assemblytitle("")]
[assembly: assemblydescription("a quickstart tutorial assembly")]
[assembly: assemblyconfiguration("")]
[assembly: assemblycompany("microsoft corporation")]
[assembly: assemblyproduct("microsoft quickstart tutorials")]
[assembly: assemblycopyright(" microsoft corporation. all rights reserved.")]
[assembly: assemblytrademark("")]
[assembly: assemblyculture("")]
[assembly: assemblyversion("1.1.*")]
package acmejs
{
public class calendar extends control implements ipostbackeventhandler, ipostbackdatahandler
{
private var monthnames:string[] = new string[12];
private var currentdate:datetime = datetime.now;
private var backcolor:string = "#dcdcdc";
private var forecolor:string = "#eeeeee";
protected function oninit(e:eventargs) : void
{
page.registerrequirespostback(this);
currentdate = datetime.now;
monthnames[0] = "january";
monthnames[1] = "february";
monthnames[2] = "march";
monthnames[3] = "april";
monthnames[4] = "may";
monthnames[5] = "june";
monthnames[6] = "july";
monthnames[7] = "august";
monthnames[8] = "september";
monthnames[9] = "october";
monthnames[10] = "november";
monthnames[11] = "december";
}
protected function loadviewstate(viewstate:object) : void
{
// if weve done a post-back, the old date will be available to us
if (null != viewstate)
{
currentdate = datetime.parse(string(viewstate));
}
}
public function raisepostbackevent(eventargument:string) : void
{
if (eventargument == null)
{
return;
}
// keep track of old date (for event firing purposes)
var olddate:datetime = currentdate;
if (string.compare("navnextmonth", eventargument, true, cultureinfo.invariantculture) == 0)
{
currentdate = currentdate.addmonths(1);
}
else if (string.compare("navprevmonth", eventargument, true, cultureinfo.invariantculture) == 0)
{
currentdate = currentdate.addmonths(-1);
}
else
{
var dayselected:int = int32.parse(eventargument);
currentdate = new datetime(currentdate.year, currentdate.month, dayselected);
}
}
protected function saveviewstate() : object
{
// save currentdate out as view state for postback scenarios
return currentdate.tostring();
}
protected function render(output:htmltextwriter) : void
{
if ((page.request.useragent != null) &&
(page.request.browser.browser.toupper(cultureinfo.invariantculture).indexof("ie") > -1) &&
(double.parse(page.request.browser.version) >= 5.5))
renderuplevel(output);
else
renderdownlevel(output);
}
protected function renderuplevel(output:htmltextwriter) : void
{
output.writeline("<input name=" + uniqueid + "_currentdate id=" + uniqueid + "_currentdate type=hidden>");
output.writeline("<span id=" + uniqueid + "></span>");
output.writeline("<script language=jscript>drawcalendar(" + uniqueid + ", " + currentdate.year.tostring() + "/" + currentdate.month.tostring() + "/" + currentdate.day.tostring() + ");</script>");
}
protected function onprerender(e:eventargs) : void
{
var dhtmlfunction:stringbuilder = new stringbuilder();
dhtmlfunction.append("<script language=javascript> \n");
dhtmlfunction.append(" function drawcalendar(calname, newdate) \n");
dhtmlfunction.append(" { \n");
dhtmlfunction.append(" var currentdate = new date(newdate);\n");
dhtmlfunction.append(" var montharray = new array(january, february, march, april, may, june, july, august, september, october, november, december);\n");
dhtmlfunction.append(" var monthdays = new array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);\n");
dhtmlfunction.append(" var caltext;\n");
dhtmlfunction.append(" caltext = <table bgcolor=#dcdcdc border=0 height=190 valign=top>;\n");
dhtmlfunction.append(" caltext = caltext + <tr><td>;\n");
dhtmlfunction.append(" caltext = caltext + <center>;\n");
dhtmlfunction.append(" caltext = caltext + \"<a href=javascript:drawcalendar(\\\"\" + calname + \"\\\", \\\"\" + currentdate.getfullyear() + \"/\" + currentdate.getmonth() + \"/\" + currentdate.getdate() + \"\\\")>\";\n");
dhtmlfunction.append(" caltext = caltext + <img src=/quickstart/aspplus/images/left4.gif width=11 height=11 border=0></a>;\n");
dhtmlfunction.append(" caltext = caltext + <b> + montharray[currentdate.getmonth()] + + currentdate.getfullyear() + </b>;\n");
dhtmlfunction.append(" caltext = caltext + \" <a href=javascript:drawcalendar(\\\"\" + calname + \"\\\", \\\"\" + currentdate.getfullyear() + \"/\" + (currentdate.getmonth() + 2) + \"/\" + currentdate.getdate() + \"\\\")>\";\n");
dhtmlfunction.append(" caltext = caltext + <img src=/quickstart/aspplus/images/right4.gif width=11 height=11 border=0></a>;\n");
dhtmlfunction.append(" caltext = caltext + </center>;\n");
dhtmlfunction.append(" caltext = caltext + </td></tr>;\n");
dhtmlfunction.append(" caltext = caltext + <tr valign=top><td valign=top>;\n");
dhtmlfunction.append(" caltext = caltext + <table border=1 bgcolor=#eeeeee height=160>;\n");
dhtmlfunction.append(" caltext = caltext + <tr height=20>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> sun </td>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> mon </td>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> tue </td>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> wed </td>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> thu </td>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> fri </td>;\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23> sat </td>;\n");
dhtmlfunction.append(" caltext = caltext + </tr>;\n");
dhtmlfunction.append(" caltext = caltext + <tr>;\n");
dhtmlfunction.append(" var numdays = monthdays[currentdate.getmonth()];\n");
dhtmlfunction.append(" var firstdayofmonth = new date(currentdate.getfullyear(),currentdate.getmonth(),1);\n");
dhtmlfunction.append(" firstday = firstdayofmonth.getday();\n");
dhtmlfunction.append(" for (var x=0; x<firstday; x++)\n");
dhtmlfunction.append(" {\n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23></td>\n");
dhtmlfunction.append(" }\n");
dhtmlfunction.append(" for (var x=1; x<=numdays; x++) \n");
dhtmlfunction.append(" { \n");
dhtmlfunction.append(" if (currentdate.getdate() == x) \n");
dhtmlfunction.append(" { \n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23>;\n");
dhtmlfunction.append(" caltext = caltext + <font color=red><b><u> + x + </u></b></font>;\n");
dhtmlfunction.append(" caltext = caltext + </td>;\n");
dhtmlfunction.append(" }\n");
dhtmlfunction.append(" else \n");
dhtmlfunction.append(" { \n");
dhtmlfunction.append(" caltext = caltext + <td align=right width=23>;\n");
dhtmlfunction.append(" caltext = caltext + \"<a href=javascript:drawcalendar(\\\"\" + calname + \"\\\", \\\"\" + currentdate.getfullyear() + \"/\" + (currentdate.getmonth()+1) + \"/\" + x + \"\\\")>\" + x + \"</a>\";");
dhtmlfunction.append(" caltext = caltext + </td>;\n");
dhtmlfunction.append(" }\n");
dhtmlfunction.append(" if (((firstday+x) % 7) == 0)\n");
dhtmlfunction.append(" {\n");
dhtmlfunction.append(" caltext = caltext + </tr><tr>;\n");
dhtmlfunction.append(" }\n");
dhtmlfunction.append(" }\n");
dhtmlfunction.append(" caltext = caltext + </tr>;");
dhtmlfunction.append(" caltext = caltext + </table></td></tr></table>;");
dhtmlfunction.append(" var calendarspan = document.all(calname);");
dhtmlfunction.append(" if (calendarspan != null)");
dhtmlfunction.append(" calendarspan.innerhtml = caltext;");
dhtmlfunction.append(" var calendarvalue = document.all(calname + _currentdate);");
dhtmlfunction.append(" if (calendarvalue != null)");
dhtmlfunction.append(" calendarvalue.value = + (currentdate.getmonth() + 1) + / + currentdate.getdate() + / + currentdate.getfullyear();");
dhtmlfunction.append(" } \n");
dhtmlfunction.append("</script>\n");
if ((page.request.useragent != null) &&
(page.request.browser.browser.toupper(cultureinfo.invariantculture).indexof("ie") > -1) &&
(double.parse(page.request.browser.version) >= 5.5))
page.registerclientscriptblock("acme_calendar_dhtml", dhtmlfunction.tostring());
}
protected function renderdownlevel(output:htmltextwriter) : void
{
// output calendar header
output.writeline("<table bgcolor=" + backcolor + " border=0 height=190 valign=top><tr><td>");
output.writeline("<table bgcolor=" + backcolor + " border=0 height=190 valign=top>");
output.writeline("<tr><td>");
output.writeline("<center>");
output.writeline(" <a href=\"javascript:" + page.getpostbackeventreference(this, "navprevmonth") + "\">");
output.writeline("<img src=/quickstart/aspplus/images/left4.gif width=11 height=11 border=0></a>");
output.writeline(" <b>" + monthnames[currentdate.month-1] + " " + currentdate.year.tostring() + "</b>");
output.writeline(" <a href=\"javascript:" + page.getpostbackeventreference(this, "navnextmonth") + "\">");
output.writeline("<img src=/quickstart/aspplus/images/right4.gif width=11 height=11 border=0></a>");
output.writeline("</center>");
output.writeline("</td></tr>");
output.writeline("<tr valign=top><td valign=top>");
output.writeline("<table border=1 bgcolor=" + forecolor + " height=160>");
output.writeline("<tr height=20>");
output.writeline(" <td align=right width=23> sun </td>");
output.writeline(" <td align=right width=23> mon </td>");
output.writeline(" <td align=right width=23> tue </td>");
output.writeline(" <td align=right width=23> wed </td>");
output.writeline(" <td align=right width=23> thu </td>");
output.writeline(" <td align=right width=23> fri </td>");
output.writeline(" <td align=right width=23> sat </td>");
output.writeline("</tr>");
output.writeline("<tr>");
// calculate how many days are in the month
var numdays:int = datetime.daysinmonth(currentdate.year, currentdate.month);
// calculate what day of week the first day of the month is on
var firstday:int = new datetime(currentdate.year, currentdate.month, 1).dayofweek;
// pre-day padding
var x:int;
for ( x=0; x<firstday; x++)
{
output.writeline("<td align=right width=23></td>");
}
// output each day
for ( x=1; x<=numdays; x++)
{
if (currentdate.day == x)
{
output.write("<td align=right width=23>");
output.write("<font color=red><b><u>" + x.tostring() + "</u></b></font>");
output.writeline("</td>");
}
else
{
output.write("<td align=right width=23>");
output.write("<a href=\"javascript:" + page.getpostbackeventreference(this, x.tostring()) + "\">");
output.write(x.tostring() + "</a>");
output.writeline("</td>");
}
// perpage row break as appropriate
if (((firstday+x) % 7) == 0)
{
output.writeline("</tr><tr>");
}
}
output.writeline("</tr>");
output.writeline("</table></td></tr></table></table>");
}
public function get date() : datetime
{
return currentdate;
}
public function set date(value:datetime)
{
currentdate = value;
}
public function get backcolor() : string
{
return backcolor;
}
public function set backcolor(value:string)
{
backcolor = value;
}
public function get forecolor() : string
{
return forecolor;
}
public function set forecolor(value:string)
{
forecolor = value;
}
public function loadpostdata(postdatakey:string, values:namevaluecollection) : boolean
{
var clientdate:string = values[uniqueid + "_currentdate"];
if (clientdate != null) {
try {
currentdate = datetime.parse(clientdate);
} catch(e:exception) {
currentdate = datetime.now;
}
}
return false;
}
public function raisepostdatachangedevent() : void
{
}
}
}
调用:
<%@ register tagprefix="acme" namespace="acme" assembly="acme" %>
c#:<acme:calendar id="mycal" runat=server/>
js:<%@ register tagprefix="acme" namespace="acmejs" assembly="acmejs" %>
