仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 462|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之ASP.NET 2.0 中静态增加 GridView 模板...

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)  静态增加列,关头是完成ITemplate.InstantiateIn办法。上面是一个增加GridView模板列的例子。
  C#代码
<%...@PageLanguage="C#"%>
<%...@ImportNamespace="System.Data"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<scriptrunat="server">...
ICollectionCreateDataSource()
...{
DataTabledt=newDataTable();
DataRowdr;
dt.Columns.Add(newDataColumn("id",typeof(Int32)));
dt.Columns.Add(newDataColumn("text",typeof(string)));
for(inti=0;i<6;i++)
...{
dr=dt.NewRow();
dr[0]=i;
dr[1]="列表项目"+i.ToString();
dt.Rows.Add(dr);
}
DataViewdv=newDataView(dt);
returndv;
}

publicclassGridViewTemplate:ITemplate
...{
privateDataControlRowTypetemplateType;
privatestringcolumnName;

publicGridViewTemplate(DataControlRowTypetype,stringcolname)
...{
templateType=type;
columnName=colname;
}

publicvoidInstantiateIn(System.Web.UI.Controlcontainer)
...{
switch(templateType)
...{
caseDataControlRowType.Header:
Literallc=newLiteral();
lc.Text=columnName;
container.Controls.Add(lc);
break;
caseDataControlRowType.DataRow:
DropDownListdrr=newDropDownList();
drr.ID="dropdown";
drr.AppendDataBoundItems=true;
drr.Items.Add(newListItem("-----请选择------",""));
drr.Items.Add(newListItem("AA","a"));
drr.Items.Add(newListItem("BB","b"));
drr.Items.Add(newListItem("CC","c"));
container.Controls.Add(drr);
break;
default:
break;
}
}
}

protectedvoidPage_Load(objectsender,EventArgse)
...{
if(!IsPostBack)
...{
TemplateFieldcustomField=newTemplateField();
customField.ShowHeader=true;
customField.HeaderTemplate=newGridViewTemplate(DataControlRowType.Header,"静态增加列");
customField.ItemTemplate=newGridViewTemplate(DataControlRowType.DataRow,"");
GridView1.Columns.Add(customField);
GridView1.DataSource=CreateDataSource();
GridView1.DataBind();
}
}

protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)
...{
if(e.Row.RowType==DataControlRowType.DataRow)
...{
//能够在这里会见数据库的别的字段的值,能够设置默许选择项,详细使用,看本人的发扬了。
//上面只是例子,触类旁通,不再费话了
DataRowViewgv=(DataRowView)e.Row.DataItem;
intitemSeleted=Int32.Parse(gv.Row["id"].ToString())>3?0:Int32.Parse(gv.Row["id"].ToString());
DropDownListdr=(DropDownList)e.Row.FindControl("dropdown");
dr.SelectedIndex=itemSeleted;
}
}
</script>

<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
<title>GridView静态增加模板列的例子</title>
</head>
<body>
<formid="form1"runat="server">
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"
OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundFieldHeaderText="题目"DataField="text"/>
</Columns>
</asp:GridView>
</form>
</body>
</html>


感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-19 15:13:13 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
老尸 该用户已被删除
板凳
发表于 2015-1-24 15:12:45 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
再现理想 该用户已被删除
地板
发表于 2015-2-1 17:42:26 | 只看该作者
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
只想知道 该用户已被删除
5#
发表于 2015-2-7 13:18:13 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-22 00:46:51 | 只看该作者
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
山那边是海 该用户已被删除
7#
发表于 2015-3-6 22:31:25 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
海妖 该用户已被删除
8#
发表于 2015-3-13 22:10:41 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
蒙在股里 该用户已被删除
9#
发表于 2015-3-20 20:57:14 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-29 07:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表