蒙在股里 发表于 2015-1-16 22:21:04

ASP.NET网页设计asp.net中DetailsView的利用办法

感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。aspx页面:
复制代码代码以下:
<asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"Height="50px"
Width="500px"OnModeChanging="DetailsView1_ModeChanging"OnItemDeleting="DetailsView1_ItemDeleting"
OnItemUpdating="DetailsView1_ItemUpdating"OnItemInserting="DetailsView1_ItemInserting">
<Fields>
<asp:TemplateFieldHeaderText="ID">
<ItemTemplate>
<%#Eval("Id")%>
</ItemTemplate>
<InsertItemTemplate>
<asp:TextBoxID="txtInsertId"Text="InsertId"runat="server"/>
</InsertItemTemplate>
<EditItemTemplate>
<%#Eval("Id")%>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="Title">
<ItemTemplate>
<%#Eval("Title")%>
</ItemTemplate>
<InsertItemTemplate>
<asp:TextBoxID="txtInsertTitle"Text="InsertTitle"runat="server"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:TextBoxID="txtEditTitle"Text=<%#Eval("Title")%>runat="server"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="Context">
<ItemTemplate>
<%#Eval("LogContext")%>
</ItemTemplate>
<InsertItemTemplate>
<asp:TextBoxID="txtInsertLogContext"Text="InsertLogContext"runat="server"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:TextBoxID="txtEditLogContext"Text=<%#Eval("LogContext")%>runat="server"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="操纵">
<ItemTemplate>
<asp:ButtonID="btnEdit"runat="server"CausesValidation="False"
CommandName="Edit"Text="编纂"/>
<asp:ButtonID="btnNew"runat="server"CausesValidation="False"
CommandName="New"Text="新建"/>
<asp:ButtonID="btnDelete"runat="server"CausesValidation="False"
CommandName="Delete"Text="删除"OnClientClick="returnconfirm(断定要更新该先生信息吗?);"/>
</ItemTemplate>
<InsertItemTemplate>
<asp:ButtonID="btnInsert"runat="server"CausesValidation="True"
CommandName="Insert"Text="拔出"/>
<asp:ButtonID="btnCancel"runat="server"CausesValidation="False"
CommandName="Cancel"Text="作废"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:ButtonID="btnUpdate"runat="server"CausesValidation="True"
CommandName="Update"Text="更新"OnClientClick="returnconfirm(断定要更新该先生信息吗?);"/>
<asp:ButtonID="btnCancel2"runat="server"CausesValidation="False"
CommandName="Cancel"Text="作废"/>
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>


CS文件:
复制代码代码以下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Collections.Generic;
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
DataToBing();
}
}
privatevoidDataToBing()
{
this.DetailsView1.DataSource=DataGridSource();
this.DetailsView1.DataBind();
}
privateList<Log>DataGridSource()
{
List<Log>logs=newList<Log>();
for(inti=1;i<11;i++)
{
Loglog=newLog();
log.Id=i;
log.Title="题目"+i;
log.LogContext="内容"+i;
logs.Add(log);
}
returnlogs;
}
publicclassLog
{
privateintid;
publicintId
{
get{returnid;}
set{id=value;}
}
privatestringtitle;
publicstringTitle
{
get{returntitle;}
set{title=value;}
}
privatestringlogContext;
publicstringLogContext
{
get{returnlogContext;}
set{logContext=value;}
}
}
protectedvoidDetailsView1_ModeChanging(objectsender,DetailsViewModeEventArgse)
{
this.DetailsView1.ChangeMode(e.NewMode);
DataToBing();
}
protectedvoidDetailsView1_ItemDeleting(objectsender,DetailsViewDeleteEventArgse)
{
Response.Write("删除操纵");
}
protectedvoidDetailsView1_ItemUpdating(objectsender,DetailsViewUpdateEventArgse)
{
TextBoxtbTitle=(TextBox)this.DetailsView1.FindControl("txtEditTitle");
TextBoxtbLogContext=(TextBox)this.DetailsView1.FindControl("txtEditTitle");
Response.Write("更新操纵:Title:"+tbTitle.Text+":LogContext:"+tbLogContext.Text);
}
protectedvoidDetailsView1_ItemInserting(objectsender,DetailsViewInsertEventArgse)
{
Response.Write("拔出操纵:");
}
}
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。

小魔女 发表于 2015-1-19 09:13:28

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。

愤怒的大鸟 发表于 2015-1-28 06:01:36

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。

深爱那片海 发表于 2015-2-5 18:46:07

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

第二个灵魂 发表于 2015-2-13 06:29:02

PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。

透明 发表于 2015-3-3 17:41:14

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

再见西城 发表于 2015-3-11 12:35:53

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

灵魂腐蚀 发表于 2015-3-26 13:45:23

网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
页: [1]
查看完整版本: ASP.NET网页设计asp.net中DetailsView的利用办法