绑定

Title:
Price:
MoreInfo

 --<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" --AutoEventWireup="false" Inherits="session.WebForm2" %>
--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
--<HTML>
 --<HEAD>
  <title>WebForm2</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 --<body>
  --<form id="Form1" method="post" runat="server">
   <TABLE id="Table1" style="WIDTH: 543px; HEIGHT: 40px" cellSpacing="1" cellPadding="1" width="543"
    align="center" border="0">
    <TR>
     <TD align="center"><FONT face="宋体"><asp:datalist id="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="2">
        <ItemTemplate>
         <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="1">
          <TR>
           <TD align="center" rowSpan="3">
            <asp:Image id=ProductImage runat="server" ImageUrl='<%#DataBinder.Eval(Container.DataItem,"Image")%>'>
            </asp:Image></TD>
           <TD>Title:</TD>
           <TD>
            <asp:Label id="TitleLabel" runat="server">
             <%#DataBinder.Eval(Container.DataItem,"Title")%>
            </asp:Label></TD>
          </TR>
          <TR>
           <TD>Price:</TD>
           <TD>
            <asp:Label id="PriceLabel" runat="server">
             <%#DataBinder.Eval(Container.DataItem,"Price")%>
            </asp:Label></TD>
          </TR>
          <TR>
           <TD>
            <asp:Button id=AddButton runat="server" OnCommand="Add_Command" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"Id")+"|"+DataBinder.Eval(Container.DataItem,"Title")+"|"+DataBinder.Eval(Container.DataItem,"Price")%>' CommandName="Add" Text="AddToCart">
            </asp:Button></TD>
           <TD>
            <asp:HyperLink id=DetailLink runat="server" NavigateUrl='<%# "moreinfomyproduct.aspx?id="+DataBinder.Eval(Container.DataItem,"id")%>'>MoreInfo</asp:HyperLink></TD>
          </TR>
         </TABLE>
        </ItemTemplate>
       </asp:datalist></FONT></TD>
    </TR>
   </TABLE>
  </form>
 </body>
</HTML>
 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.Web.Caching;

namespace session
{
 /// <summary>
 /// WebForm2 的摘要说明。
 /// </summary>
 public class WebForm2 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataList DataList1;

 
  static public CacheItemRemovedCallback diablo;
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {
    ArrayList list;
    using(ProductSystem diaproductsystem=new ProductSystem())
    {
     list=diaproductsystem.GetProducts();
    }
    diablo = new CacheItemRemovedCallback(dia);//移除缓存项的回调方法
    DataList1.DataSource=list;
    DataList1.DataBind();
    Cache.Insert("cachelist",list,null,DateTime.Now.AddSeconds(60),TimeSpan.Zero,CacheItemPriority.Low,diablo);
    

   }
  }
  public static void dia(string key,object value,CacheItemRemovedReason reason)//回调函数(移除缓存项)
  {
   if(key=="cachelist")
   {
    ArrayList list;
    using(ProductSystem diaproductsystem=new ProductSystem())
    {
     list=diaproductsystem.GetProducts();
    }
    diablo = new CacheItemRemovedCallback(diablo);
   
    DateTime dt=DateTime.Now;
    System.Web.HttpContext.Current.Cache.Insert("cachelist",list);
   }
  }


  #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
  protected void Add_Command(object sender,CommandEventArgs e)
  {
   Cart cart=(Cart)Session["Cart"];
   if(cart==null)
   {
    cart=new Cart();
    Session["Cart"]=cart;
   }
   string arg=e.CommandArgument.ToString();
   string[] args=arg.Split('|');
   

   cart.AddItem(int.Parse(args[0]),args[1],decimal.Parse(args[2]));
   Response.Redirect("ShoppingCart.aspx");

   
  }
 }
}

 

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

<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>1.3</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>True</value>
  </data>
  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>Private</value>
  </data>
  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </data>
</root>

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

--<%@ Page language="c#" Codebehind="WebForm10.aspx.cs" AutoEventWireup="false" Inherits="student1.WebForm10" %>
--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
--<HTML>
 --<HEAD>
  <title>WebForm10</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">
  <style type="text/css">
  BODY { FONT-SIZE: 12px }
  </style>
 </HEAD>
 --<body MS_POSITIONING="GridLayout" topmargin="0">
  <form id="Form1" method="post" runat="server">
   <div align="center">
    <asp:DataGrid id="DataGrid2" runat="server" AutoGenerateColumns="False" CellPadding="0" BackColor="White"
     BorderWidth="1px" BorderStyle="None" BorderColor="#3366CC" Width="560px" Height="208px" DataKeyField="code"
     GridLines="Horizontal">
     <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
     <EditItemStyle Font-Size="12px"></EditItemStyle>
     <AlternatingItemStyle Font-Size="12px"></AlternatingItemStyle>
     <ItemStyle Font-Size="12px" Wrap="False" HorizontalAlign="Center" ForeColor="#003399" VerticalAlign="Middle"
      BackColor="White"></ItemStyle>
     <HeaderStyle Font-Size="12px" Font-Bold="True" Wrap="False" HorizontalAlign="Center" ForeColor="#CCCCFF"
      VerticalAlign="Middle" BackColor="#003399"></HeaderStyle>
     <FooterStyle Font-Size="12px" ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
     <Columns>
      <asp:BoundColumn DataField="code" HeaderText="学生编号"></asp:BoundColumn>
      <asp:BoundColumn DataField="stu_name" HeaderText="学生姓名"></asp:BoundColumn>
      <asp:BoundColumn DataField="age" HeaderText="年龄"></asp:BoundColumn>
      <asp:TemplateColumn HeaderText="性别">
       <ItemTemplate>
        <%# DataBinder.Eval(Container.DataItem,"sex") %>
       </ItemTemplate>
       <EditItemTemplate>
        <asp:DropDownList id="DropDownList1" runat="server" Width="80px">
         <asp:ListItem Value="男">男</asp:ListItem>
         <asp:ListItem Value="女">女</asp:ListItem>
        </asp:DropDownList>
       </EditItemTemplate>
      </asp:TemplateColumn>
      <asp:TemplateColumn HeaderText="班级">
       <ItemTemplate>
        <FONT face="宋体">
         <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"classname") %>'>
         </asp:Label></FONT>
       </ItemTemplate>
       <EditItemTemplate>
        <FONT face="宋体">
         <asp:DropDownList id=DropDownList2 runat="server" Width="88px" DataTextField="classname" DataValueField="classid" DataSource="<%# GetClass() %>" SelectedValue='<%# DataBinder.Eval(Container.DataItem,"classid") %>' AutoPostBack="true">
         </asp:DropDownList></FONT>
       </EditItemTemplate>
      </asp:TemplateColumn>
      <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
      <asp:ButtonColumn Text="选择" CommandName="Select"></asp:ButtonColumn>
     </Columns>
     <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>
   </div>
  </form>
 </body>
</HTML>
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.Data.SqlClient;

namespace student1
{
 /// <summary>
 /// WebForm10 的摘要说明。
 /// </summary>
 public class WebForm10 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid DataGrid2;
  private string strconn=System.Configuration.ConfigurationSettings.AppSettings["strconn"];
  protected DataSet GetClass()
  {
   System.Data.SqlClient.SqlConnection conn=new SqlConnection(strconn);
   System.Data.SqlClient.SqlCommand command=new SqlCommand("select * from class",conn);
   System.Data.SqlClient.SqlDataAdapter myadapter=new SqlDataAdapter(command);
   DataSet ds=new DataSet();
   myadapter.Fill(ds);
   return ds;

  }
  private DataSet GetStudent()
  {
   System.Data.SqlClient.SqlConnection conn=new SqlConnection(strconn);
   System.Data.SqlClient.SqlCommand command=new SqlCommand("select s.code,s.stu_name,s.age,s.sex,c.classname,s.classid from student s inner join class c on s.classid=c.classid",conn);
   System.Data.SqlClient.SqlDataAdapter myadapter=new SqlDataAdapter(command);
   DataSet ds=new DataSet();
   myadapter.Fill(ds);
   return ds;

  }
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!this.IsPostBack)
   {
    this.DataGrid2.DataSource=this.GetStudent();
    this.DataGrid2.DataBind();
    
   }
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.DataGrid2.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid2_CancelCommand);
   this.DataGrid2.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid2_EditCommand);
   this.DataGrid2.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid2_UpdateCommand);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void DataGrid2_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   this.DataGrid2.EditItemIndex=e.Item.ItemIndex;
   this.DataGrid2.DataSource=this.GetStudent();
   this.DataGrid2.DataBind();

  }

  private void DataGrid2_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   this.DataGrid2.EditItemIndex=-1;
   this.DataGrid2.DataSource=this.GetStudent();
   this.DataGrid2.DataBind();
  
  }

  private void DataGrid2_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   int i=0;
   string key=this.DataGrid2.DataKeys[e.Item.ItemIndex].ToString();
   System.Data.SqlClient.SqlConnection conn=new SqlConnection(strconn);
   System.Data.SqlClient.SqlCommand command=new SqlCommand("update student set code=@code,stu_name=@name,age=@age,sex=@sex,classid=@classid where code='"+key+"'",conn);
   command.Parameters.Add("@code",SqlDbType.VarChar,20);
   command.Parameters.Add("@name",SqlDbType.VarChar,20);
   command.Parameters.Add("@age",SqlDbType.Int,4);
   command.Parameters.Add("@sex",SqlDbType.Char,2);
   command.Parameters.Add("@classid",SqlDbType.VarChar,20);
   command.Parameters["@code"].Value=((TextBox)e.Item.Cells[i++].Controls[0]).Text;
   command.Parameters["@name"].Value=((TextBox)e.Item.Cells[i++].Controls[0]).Text;
   command.Parameters["@age"].Value=((TextBox)e.Item.Cells[i++].Controls[0]).Text;
   command.Parameters["@sex"].Value=((DropDownList)e.Item.Cells[i++].Controls[1]).SelectedValue;
   command.Parameters["@classid"].Value=((DropDownList)e.Item.FindControl("DropDownList2")).SelectedValue;
   conn.Open();
   command.ExecuteNonQuery();
   conn.Close();
   this.DataGrid2.EditItemIndex=-1;
   this.DataGrid2.DataSource=this.GetStudent();
   this.DataGrid2.DataBind();

 

  }

 
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值