ASPNET服务端控件练习(一个机试题)

时间:2023-02-22 17:37:14

简单记录:

模糊查询的select语句的拼写

        public List<Model.Student> GetWhereStudent(string name, string sub, string isG)
{
List<Web.Model.Student> lt = new List<Model.Student>();
string sql = "select * from SC_Student where studentName like @n and Subjects=@sub and IsGoodStudent=@is";
SqlParameter[] param = {
new SqlParameter("@n","%"+name+"%"),
new SqlParameter("@sub",sub),
new SqlParameter("@is",isG)};
using (SqlDataReader reader = SqlHelper.ExecuteDataReader(sql, param))
{
if (reader.HasRows)
{
while (reader.Read())
{
Web.Model.Student stu = new Model.Student();
stu.ID = reader.GetInt32();
stu.Name = reader.GetString();
stu.SubId = this.GetSubName(reader.GetInt32());
stu.Score = reader.GetInt32();
stu.IsGoodStudent = reader.GetBoolean();
lt.Add(stu);
}
}
}
return lt;
}

reader拿取 ROW_NUMBER() over(order by studentName)产生的值

        public List<Model.StudentAvg> EditStudent(string name, string sco)
{
List<Web.Model.StudentAvg> lst = new List<Model.StudentAvg>();
int s = ;
SqlParameter[] param =
{
new SqlParameter("@likes","%"+name+"%"),
new SqlParameter("@sco",int.TryParse(sco,out s)==true?s:)
};
using (SqlDataReader reader = SqlHelper.ExecuteProcedure("pro_Student_Avg", param))
{
if (reader.HasRows)
{
while (reader.Read())
{
Web.Model.StudentAvg stuavg = new Model.StudentAvg();
//拿取 ROW_NUMBER() over(order by studentName)产生的值
stuavg.ID = int.Parse(reader.GetSqlValue(0).ToString());
stuavg.Name = reader.GetString();
stuavg.SSum = reader.GetInt32();
stuavg.SAvg = reader.GetInt32();
lst.Add(stuavg);
}
}
}
return lst;
}

对于动态的对ObjectDataSource控件添加参数之前先清空参数:不然参数数据源的SelectParameters会叠加递增的

    protected void Page_Load(object sender, EventArgs e)
{
this.ObjectDataSource1.SelectParameters.Clear();
this.ObjectDataSource1.SelectParameters.Add("name", "");
this.ObjectDataSource1.SelectParameters.Add("sco", "");
this.ObjectDataSource1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
this.ObjectDataSource1.SelectParameters.Clear();
string name = this.txtName.Text;
string sco = this.txtSco.Text;
this.ObjectDataSource1.SelectParameters.Add("name", name);
this.ObjectDataSource1.SelectParameters.Add("sco", sco);
//Web.BLL.Tran tran = new Web.BLL.Tran();
//List<Web.Model.StudentAvg> lst = tran.GetStudentAvg(name, sco);
this.ObjectDataSource1.DataBind();
}

Repeater应用实例:里面的table tr项模版不能是服务端的

    <form id="form1" runat="server">
<div>
<%-- <table id="lst">
<tr>
<td>学号</td>
<td>姓名</td>
<td>科目</td>
<td>分数</td>
<td>好学生</td>
<td>操作</td>
</tr>
<%=sb.ToString() %>>
</table><asp:LinkButton Visible="false" OnClientClick="Del()" ID="isG" runat="server">设置为好学生</asp:LinkButton>--%>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetAllStudent" TypeName="Web.BLL.Tran"></asp:ObjectDataSource>
<table id="lst">
<tr>
<td>学号</td>
<td>姓名</td>
<td>科目</td>
<td>分数</td>
<td>好学生</td>
<td>操作</td>
</tr>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<ItemTemplate>
<tr>

// Parameters:
// expression:
// The navigation path from the container to the public property value to place
// in the bound control property.

                            <td><%# Eval("ID") %></td>
<td><%# Eval("Name") %></td>
<td><%# ((Web.Model.Subject)Eval("SubId")).StuId %></td>
<td><%# Eval("Score") %></td>
<td>
<asp:LinkButton ID="LinkButton1" Enabled='<%#!(bool)Eval("IsGoodStudent") %>' CommandArgument='<%#Eval("ID")%>' OnClick="Unnamed_Click" runat="server">
<%#(bool)Eval("IsGoodStudent") ==true ? "好学生" : "设置为好学生" %></asp:LinkButton></td>
<td><a href='Edit_Student.aspx?id=<%#Eval("ID") %>'>编辑</a>&nbsp;&nbsp;<a href='javascript:Del(<%#Eval("ID") %>);'>删除</a></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<br /><br /><br />
<asp:Panel ID="Panel1" runat="server" GroupingText="学生查询">
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetAllSubject" TypeName="Web.BLL.Tran"></asp:ObjectDataSource>
姓名:<asp:TextBox ID="txtSName" runat="server"></asp:TextBox><br />
科目:<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="ObjectDataSource2" DataTextField="StuId" DataValueField="Id"></asp:DropDownList><br />
是否是好学生:<asp:CheckBox ID="CheckBox1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="查询" OnClick="Button1_Click" />
</asp:Panel>
</div>
</form>
    protected void Unnamed_Click(object sender, EventArgs e)
{
//还原 参数
this.ObjectDataSource1.SelectParameters.Clear();
LinkButton lb = ((LinkButton)sender);
if (lb.CommandArgument != "")
{
if (true)//YEs No 对话框
{
string id = lb.CommandArgument; Web.BLL.Tran tran = new Web.BLL.Tran();
if (tran.SetGood(int.Parse(id)) == )
{
this.Repeater1.DataBind();
}
} }
}
protected void Button1_Click(object sender, EventArgs e)
{
this.ObjectDataSource1.SelectParameters.Clear();
this.ObjectDataSource1.SelectParameters.Add("name", this.txtSName.Text);
this.ObjectDataSource1.SelectParameters.Add("sub", this.DropDownList1.SelectedIndex + .ToString());
this.ObjectDataSource1.SelectParameters.Add("isG", this.CheckBox1.Checked == true ? "" : "");
this.ObjectDataSource1.SelectMethod = "GetWhereStudent";
this.ObjectDataSource1.DataBind();
//this.Page.DataBind();
//this.ObjectDataSource1.SelectMethod = "GetWhereStudent";
}

js界面删除表格行

        function DelRow() {
var ta = document.getElementById("lst");
var len=ta.rows.length;
for (var i = ; i < len; i++) {
var ro = ta.rows.item(i);
if (ro.childNodes[].innerHTML = arguments[]) {
ta.deleteRow(i);
return;
}
}
};

ListView下拿后台拿服务端控件值

    protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string id = Request.QueryString["id"];
if (id != null)
{
//this.ObjectDataSource1.SelectParameters.Add("id", id);
this.ObjectDataSource1.SelectParameters[].DefaultValue = id;
this.ObjectDataSource1.DataBind();
}
} }
protected void Button1_Click(object sender, EventArgs e)
{
Web.BLL.Tran tran = new Web.BLL.Tran();
string id = ((TextBox)this.ListView1.Items[].Controls[]).Text;
string name = ((TextBox)this.ListView1.Items[].Controls[]).Text;
string sub = ((TextBox)this.ListView1.Items[].Controls[]).Attributes["MySubID"];
string sco = ((TextBox)this.ListView1.Items[].Controls[]).Text;
bool isG = ((CheckBox)this.ListView1.Items[].Controls[]).Checked;
if ( == tran.EditStudent(id, name, sub, sco, isG))
{
this.ObjectDataSource1.DataBind();
Response.Redirect("Manage_Student.aspx");
}
}
<body>
<form id="form1" runat="server">
<div>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetStudent" TypeName="Web.BLL.Tran">
<SelectParameters>
<asp:Parameter Name="id" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<br />
<table> <tr>
<td>学号</td>
<td>姓名</td>
<td>科目</td>
<td>分数</td>
<td>好学生</td>
</tr>
<asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1">
<ItemTemplate>
<tr>
<td>
<asp:TextBox ID="TextBox4" disabled="disabled" runat="server" Text='<%#Eval("ID") %>'></asp:TextBox>
</td> <td>
<asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("Name") %>'></asp:TextBox></td> <td>
<asp:TextBox ID="TextBox3" disabled="disabled" MySubID='<%#((Web.Model.Subject)Eval("SubId")).Id %>' Text='<%#((Web.Model.Subject)Eval("SubId")).StuId %>' runat="server"></asp:TextBox></td> <td>
<asp:TextBox ID="TextBox2" runat="server" Text='<%#Eval("Score") %>'></asp:TextBox></td> <td>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%#Eval("IsGoodStudent") %>' /></td> </tr>
</ItemTemplate> </asp:ListView>
</table>
<asp:Button ID="btnSure" OnClick="Button1_Click" runat="server" Text="确定" />
</div>
</form>

服务端控件DropDownList绑定数据

            <tr>
<td><input type="text" name="txtName" /></td>
<td>
<asp:DropDownList runat="server" ID="scoName" DataSourceID="ObjectDataSource1" DataTextField="StuId" DataValueField="Id">
</asp:DropDownList></td>
<td><input type="text" name="txtSco" /></td>
<td>
<asp:CheckBox Text="" runat="server" ID="IsGoodStudent" /></td>
</tr>

后台获取服务端控件CheckBox的选择值

        bool isGS = this.IsGoodStudent.Checked;

项目文件:http://pan.baidu.com/s/1gdJxjvt

ASPNET服务端控件练习(一个机试题)的更多相关文章

  1. &lpar;转&rpar;客户端触发Asp&period;net中服务端控件事件

    第一章. Asp.net中服务端控件事件是如何触发的 Asp.net 中在客户端触发服务端事件分为两种情况: 一. WebControls中的Button 和HtmlControls中的Type为su ...

  2. 如何通过JavaScript构建Asp&period;net服务端控件

    摘要 虽然ASP.NET的服务器控件一直被大家所诟病,但是用户控件(ACSX)在某些场景下还是非常有用的. 在一些极特珠的情况下,我们会使用JavaScript动态的构建页面中的控件,但假设遇到了我要 ...

  3. &period;Net Mvc3框架调用服务端控件解决方案

      /*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...

  4. js页面&lpar;页面上无服务端控件,且页面不刷新&rpar;实现请求一般处理程序下载文件方法

    对于js页面来说,未使用服务端控件,点击下载按钮时不会触发服务端事件,且不会提交数据到服务端页面后台进行数据处理,所以要下载文件比较困难.且使用jQ的post来请求一般处理程序也不能实现文件的下载,根 ...

  5. jquery 操作服务端控件&comma;select 控件

    <asp:DropDownList ID="ddl" runat="server"></asp:DropDownList> <se ...

  6. atitit&period;组件化事件化的编程模型--服务端控件&lpar;1&rpar;---------服务端控件与标签的关系

    atitit.组件化事件化的编程模型--服务端控件(1)---------服务端控件与标签的关系 1. 服务器控件是可被服务器理解的标签.有三种类型的服务器控件: 1 1.1. HTML 服务器控件  ...

  7. GridView 服务端控件添加 js

    针对服务端控件的 CommandField “Delete” 添加 js $("#GridView1").find("a").each( function() ...

  8. atitit&period;Atitit&period; Gui控件and面板-----服务端控件 java struts的实现最佳实践

    atitit.Atitit.  Gui控件and面板-----服务端控件 java struts的实现最佳实践 1. 服务器控件的类别 1 1.1. 数据控件:该类控件可细分为两种类型:数据源控件和数 ...

  9. C&num; 服务端控件 asp&colon;RadioButton 选择选中值

    1.服务端控件RadioButton <asp:RadioButton ID="rbNewUser" runat="server" GroupName=& ...

随机推荐

  1. Stage3D&lowbar;Game&lowbar;Programming&colon;渲染3D模型

    OBJ是文件,先来解释下OBJ文件.随便找一个OBJ文件,用文本查看: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # ...

  2. windows 查看端口被哪个程序占用

    比如查看端口8080 1. 查看占用端口8080对应的PID,输入命令:netstat -aon|findstr "8080" (加入查到pid为111222) 2. 继续输入ta ...

  3. gcc 找不到 boot python 链接库的问题: &sol;usr&sol;bin&sol;ld&colon; cannot find -lboost&lowbar;python

    问题: Ubuntu 14.04,gcc 4.8.4,以默认方式编译 boost 1.67 后,使用 Boost.Python 时,gcc 提示找不到 boost python 链接库. 方案: 查看 ...

  4. Zookeeper与HBse安装过程纪录

    1 zookeeper安装 1.1 环境变量 1.2 配置zoo.cfg 初次使用 ZooKeeper 时, 需要将 $ZOOKEEPER_HOME/conf 目录下的 zoo_sample.cfg ...

  5. UVALive 7146 (贪心&plus;少许数据结构基础)2014acm&sol;icpc区域赛上海站

    这是2014年上海区域赛的一道水题.请原谅我现在才发出来,因为我是在太懒了.当然,主要原因是我刚刚做出来. 其实去年我就已经看到这道题了,因为我参加的就是那一场.但是当时我们爆零,伤心的我就再也没有看 ...

  6. react-native 相关问题

    使用create-react-native-app时,报错,好像是npm版本不对,想问下npm怎么降低版本? npm install npm@4 -g  创建并启动项目 老方法1 创建项目 react ...

  7. webstorm的个性化设置settings

    如何更改主题(字体&配色):File -> settings -> Editor -> colors&fonts -> scheme name.主题下载地址 如 ...

  8. 基于PMBOK的项目管理知识体系

  9. Python之路【第二篇】&colon; 列表、元组、字符串、字典、集合

    本文内容: -------------------------------------- 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表(list) 序列是Pyt ...

  10. Git 的origin和master分析&lpar;转&rpar;

    转:http://lishicongli.blog.163.com/blog/static/1468259020132125247302/ 首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其 ...