为此,我查阅了很多的资料,终于研究通了,现在分享给大家。
源代码如下:calendar.aspx.cs
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; 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 WebApplication_rd { /// <summary> /// Summary description for WebForm1. /// </summary> public class calendar : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e) { if (! Page.IsPostBack) BindData(); } private void BindData() { SqlConnection con = new SqlConnection("server=localhost;database=Northwind;uid=sa;pwd=;"); SqlCommand cmd = new SqlCommand("SELECT TOP 10 * FROM Orders", con); try { con.Open(); DataGrid1.DataSource = cmd.ExecuteReader(); DataGrid1.DataBind(); con.Close(); } catch (Exception ex) { Trace.Warn(ex.Message); } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_CancelItemCommand); this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditItemCommand); this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_UpdateItemCommand); this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_OnItemDataBound); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void DataGrid1_EditItemCommand(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e) { DataGrid1.EditItemIndex = e.Item.ItemIndex; BindData(); } private void DataGrid1_CancelItemCommand(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e) { DataGrid1.EditItemIndex = -1; BindData(); } private void DataGrid1_UpdateItemCommand(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e) { Int32 iLastCellIndex = e.Item.Cells.Count-1; //The Index for the last cell String sNewDate = ((TextBox)e.Item.Cells[iLastCellIndex].FindControl("txtDate")).Text; //Get the value of the TextBox Label1.Text = "You set the date " + sNewDate; //Add database updating here DataGrid1.EditItemIndex = -1; BindData(); } private void DataGrid1_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if ( e.Item.ItemType == ListItemType.EditItem ) { Int32 iLastCellIndex = e.Item.Cells.Count-1; //The Index for the last cell String sTextBoxName = e.Item.Cells[iLastCellIndex].FindControl("txtDate").ClientID; //The rendered name of the TextBox String sLink = "<a href=\"javascript:pickDate(''''" + sTextBoxName + "'''');\"><IMG SRC=\"i/iCalendar.gif\" border=\"0\" align=\"absmiddle\"></a>"; //The HTML to add to the Edit cell e.Item.Cells[iLastCellIndex].Controls.Add(new LiteralControl(sLink)); //Add the HTML } } } } |
CalendarPopUp.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; namespace WebApplication_rd { /// <summary> /// Summary description for CalendarPopUp. /// </summary> public class CalendarPopUp : System.Web.UI.Page { protected System.Web.UI.WebControls.LinkButton LinkButton1; protected System.Web.UI.WebControls.Calendar Calendar1; private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void LinkButton1_Click(object sender, System.EventArgs e) { System.Text.StringBuilder sbScript = new System.Text.StringBuilder(); sbScript.Append("<script language=''''javascript''''>"); //Opening script tag sbScript.Append(Environment.NewLine); //Newline sbScript.Append("window.opener.document.all[''''"); //Reference to original window sbScript.Append(Request.QueryString["src"]); //Control to set value on sbScript.Append("''''].value = ''''"); //Set the value sbScript.Append(Calendar1.SelectedDate.ToShortDateString()); //The date sbScript.Append("'''';"); //End of line sbScript.Append(Environment.NewLine); //Newline sbScript.Append("window.close();"); //Close this window sbScript.Append(Environment.NewLine); //Newline sbScript.Append("</script>"); //Closing script tag //Add the script to the page this.Page.Controls.Add(new LiteralControl(sbScript.ToString())); } } } |
ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日ASP编码教程:asp执行带参数的sql语句实例
[ASP]2015年4月14日