学分系统向使用asp.net编写,
各个任课教师可以输入成绩,
转换成学分,
成绩录入的界面是否可以实现
一个班级所有学生一个页面出现,并进行成绩录入。

解决方案 »

  1.   

    <%@ Page language="c#" Codebehind="add.aspx.cs" AutoEventWireup="false" Inherits="tongji.add" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>add</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <LINK href="css/css.css" type="text/css" rel="stylesheet">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 40px; POSITION: absolute; TOP: 40px" runat="server"
    BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4"
    CssClass="font" AutoGenerateColumns="False" OnUpdateCommand="update" OnCancelCommand="cancel"
    OnEditCommand="edit" OnDeleteCommand="delete">
    <FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
    <SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
    <ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
    <PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
    <Columns>
    <asp:BoundColumn HeaderText="ID" ReadOnly="true" DataField="autoid" />
    <asp:TemplateColumn HeaderText="学号">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"studentID") %>' Runat="server">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"studentID") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="姓名">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"studentName") %>' Runat="server">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"studentName") %>' Runat="server" id="s1">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="语文">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"score1") %>' Runat="server">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"score1") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="数学">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"score2") %>' Runat="server">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"score2") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="外语">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"score3") %>' Runat="server">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"score3") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="物理">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"score4") %>' Runat="server">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"score4") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="化学">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"score5") %>' Runat="server" >
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"score5") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="政治">
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"score6") %>' Runat="server" >
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox CssClass="tb" Text='<%# DataBinder.Eval(Container.DataItem,"score6") %>' Runat="server">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:EditCommandColumn EditText="编辑" CancelText="取消" UpdateText="更新"></asp:EditCommandColumn>
    <asp:ButtonColumn Text="删除" CommandName="delete"></asp:ButtonColumn>
    </Columns>
    </asp:datagrid>
    <asp:Button id="Button1" OnClick="addnew" style="Z-INDEX: 102; LEFT: 128px; POSITION: absolute; TOP: 16px"
    runat="server" CssClass="font" Text="增加学生"></asp:Button>
    <asp:Button id="Button4" OnClick="back" style="Z-INDEX: 102; LEFT: 50px; POSITION: absolute; TOP: 16px"
    runat="server" CssClass="font" Text="回到前面"></asp:Button>
    <asp:Panel id="Panel1" style="Z-INDEX: 103; LEFT: 500px; POSITION: absolute; TOP: 32px" runat="server"
    Height="8px">
    <TABLE class="tablebk" id="Table1" style="Z-INDEX: 104; LEFT: 8px; POSITION: absolute; TOP: 8px"
    cellSpacing="1" cellPadding="0" width="300" border="0">
    <TR class="tdbk2">
    <TD colSpan="2">增加学生</TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">学号</TD>
    <TD>
    <asp:TextBox id="TextBox1" runat="server" CssClass="tb"></asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">姓名</TD>
    <TD>
    <asp:TextBox id="Textbox2" runat="server" CssClass="tb"></asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">语文</TD>
    <TD>
    <asp:TextBox id="Textbox3" runat="server" CssClass="tb">0</asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">数学</TD>
    <TD>
    <asp:TextBox id="Textbox4" runat="server" CssClass="tb">0</asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">外语</TD>
    <TD>
    <asp:TextBox id="Textbox5" runat="server" CssClass="tb">0</asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">物理</TD>
    <TD>
    <asp:TextBox id="Textbox6" runat="server" CssClass="tb">0</asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">化学</TD>
    <TD>
    <asp:TextBox id="Textbox7" runat="server" CssClass="tb">0</asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">政治</TD>
    <TD>
    <asp:TextBox id="Textbox8" runat="server" CssClass="tb">0</asp:TextBox></TD>
    </TR>
    <TR class="tdbk1">
    <TD style="WIDTH: 130px">
    <asp:Label id="Label1" runat="server"></asp:Label></TD>
    <TD>
    <asp:Button id="Button2" onclick="addnew2" runat="server" Text="确定"></asp:Button>
    <asp:Button id="Button3" onclick="addnewc" runat="server" Text="取消"></asp:Button></TD>
    </TR>
    </TABLE>
    </asp:Panel>
    </FONT>
    </form>
    </body>
    </HTML>
      

  2.   

    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;
    using System.Configuration;namespace tongji
    {
    /// <summary>
    /// add 的摘要说明。
    /// </summary>
    public class add : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.Panel Panel1;
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.TextBox Textbox2;
    protected System.Web.UI.WebControls.TextBox Textbox3;
    protected System.Web.UI.WebControls.TextBox Textbox4;
    protected System.Web.UI.WebControls.TextBox Textbox5;
    protected System.Web.UI.WebControls.TextBox Textbox6;
    protected System.Web.UI.WebControls.TextBox Textbox7;
    protected System.Web.UI.WebControls.TextBox Textbox8;
    protected System.Web.UI.WebControls.Button Button2;
    protected System.Web.UI.WebControls.Button Button3;
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Button Button4;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!Page.IsPostBack)
    {
    if(Request.QueryString["classID"]!=null)
    {
    this.Panel1.Visible=false;
    setBind();
    }
    else
    {
    Response.Redirect("index.aspx");
    }
    }
    }
    private void setBind()
    {
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter("select * from tblscore where classID="+Request.QueryString["classID"]+" order by studentID asc ",conn);
    da.Fill(ds,"tblscore");
    conn.Close();
    this.DataGrid1.DataSource = ds.Tables["tblscore"];
    Page.DataBind();

    } public void delete(object sender,DataGridCommandEventArgs e)
    {
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
    SqlCommand myCommand = new SqlCommand("spdelete", conn);
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.Parameters.Add("@ID", SqlDbType.Int).Value = e.Item.Cells[0].Text;
    conn.Open();
    myCommand.ExecuteNonQuery();
    conn.Close();
    setBind();
    } public void edit(object sender,DataGridCommandEventArgs e)
    {
    this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
    setBind();
    ((TextBox)this.DataGrid1.Items[e.Item.ItemIndex].FindControl("s1")).Text="asddas";
    }
    public void update(object sender,DataGridCommandEventArgs e)
     {
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
    SqlCommand myCommand = new SqlCommand("spupdate", conn);
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.Parameters.Add("@ID", SqlDbType.Int).Value =Convert.ToInt16(((TextBox)e.Item.Cells[1].Controls[1]).Text);
    myCommand.Parameters.Add("@Name", SqlDbType.NVarChar).Value = ((TextBox)e.Item.Cells[2].Controls[1]).Text;
    myCommand.Parameters.Add("@s1", SqlDbType.Decimal).Value = Convert.ToDecimal(((TextBox)e.Item.Cells[3].Controls[1]).Text);
    myCommand.Parameters.Add("@s2", SqlDbType.Decimal).Value = Convert.ToDecimal(((TextBox)e.Item.Cells[4].Controls[1]).Text);
    myCommand.Parameters.Add("@s3", SqlDbType.Decimal).Value = Convert.ToDecimal(((TextBox)e.Item.Cells[5].Controls[1]).Text);
    myCommand.Parameters.Add("@s4", SqlDbType.Decimal).Value = Convert.ToDecimal(((TextBox)e.Item.Cells[6].Controls[1]).Text);
    myCommand.Parameters.Add("@s5", SqlDbType.Decimal).Value = Convert.ToDecimal(((TextBox)e.Item.Cells[7].Controls[1]).Text);
    myCommand.Parameters.Add("@s6", SqlDbType.Decimal).Value = Convert.ToDecimal(((TextBox)e.Item.Cells[8].Controls[1]).Text);
    myCommand.Parameters.Add("@autoid", SqlDbType.Int).Value = Convert.ToInt16(e.Item.ItemIndex);
    conn.Open();
    myCommand.ExecuteNonQuery();
    conn.Close();
    recalc();
    this.DataGrid1.EditItemIndex=-1;
    setBind();  }

    public void cancel(object sender,DataGridCommandEventArgs e)
      {
    this.DataGrid1.EditItemIndex=-1;
    setBind();
      }

    public void addnew(object sender, System.EventArgs e)
    {
    this.Panel1.Visible=true; } public void addnewc(object sender, System.EventArgs e)
    {
    this.Panel1.Visible=false; }
    public void back(object sender, System.EventArgs e)
    {
    Response.Redirect("index.aspx?classid="+Request.QueryString["classID"]); } public void addnew2(object sender, System.EventArgs e)
    {
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
    SqlCommand myCommand = new SqlCommand("spadd", conn);
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt16(this.TextBox1.Text);
    myCommand.Parameters.Add("@Name", SqlDbType.NVarChar).Value = this.Textbox2.Text;
    myCommand.Parameters.Add("@s1", SqlDbType.Decimal).Value = Convert.ToDecimal(this.Textbox3.Text);
    myCommand.Parameters.Add("@s2", SqlDbType.Decimal).Value = Convert.ToDecimal(this.Textbox4.Text);
    myCommand.Parameters.Add("@s3", SqlDbType.Decimal).Value = Convert.ToDecimal(this.Textbox5.Text);
    myCommand.Parameters.Add("@s4", SqlDbType.Decimal).Value = Convert.ToDecimal(this.Textbox6.Text);
    myCommand.Parameters.Add("@s5", SqlDbType.Decimal).Value = Convert.ToDecimal(this.Textbox7.Text);
    myCommand.Parameters.Add("@s6", SqlDbType.Decimal).Value = Convert.ToDecimal(this.Textbox8.Text);
    myCommand.Parameters.Add("@classID", SqlDbType.Int).Value = Request.QueryString["classID"];
    conn.Open();
    try
    {
    myCommand.ExecuteNonQuery();
    }
    catch
    {
    this.Label1.Text="数据类型不对";
    }
    conn.Close();
    repan();
    recalc();
    setBind();

    } public void recalc()
    {
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
    SqlCommand myCommand = new SqlCommand("update tblscore set totalscore=score1+score2+score3+score4+score5+score6 where classid=@classid", conn);
    myCommand.CommandType = CommandType.Text;
    myCommand.Parameters.Add("@classid", SqlDbType.Int).Value = Request.QueryString["classID"];
    conn.Open();
    myCommand.ExecuteNonQuery();
    SqlCommand myCommand1 = new SqlCommand("UPDATE tblscore SET MC=(SELECT Count(totalscore)+1 FROM tblscore  b WHERE b.totalscore>tblscore.totalscore and classid=@classid) where classid=@classid", conn);
    myCommand1.CommandType = CommandType.Text;
    myCommand1.Parameters.Add("@classid", SqlDbType.Int).Value = Request.QueryString["classID"];
    myCommand1.ExecuteNonQuery();
    conn.Close();

    } public void repan()
    {
    this.TextBox1.Text="";
    this.Textbox2.Text="";
    this.Textbox3.Text="";
    this.Textbox4.Text="";
    this.Textbox5.Text="";
    this.Textbox6.Text="";
    this.Textbox7.Text="";
    this.Textbox8.Text=""; } #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
    }
    }
      

  3.   

    楼上的好强啊我也用asp.net做了一个成绩提交系统,不过我的方法还是有点像asp那样生成输入框,然后提交到另一个页面来处理数据,现在已经在使用了。