飘飘悠悠 发表于 2015-1-18 11:28:39

ASP.NET网页编程之ASP.NET 经常使用的33种代码仓酷云

归根到底,net网页编程跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢!1.翻开新的窗口并传送参数:
  传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
  吸收参数:
stringa=Request.QueryString("id");
stringb=Request.QueryString("id1");
  
2.为按钮增加对话框
Button1.Attributes.Add("onclick","returnconfirm(’确认?’)");
button.attributes.add("onclick","if(confirm(’areyousure...?’)){returntrue;}else{returnfalse;}")
  
3.删除表格选定纪录
intintEmpID=(int)MyDataGrid.DataKeys;
stringdeleteCmd="DELETEfromEmployeewhereemp_id="+intEmpID.ToString()
  
4.删除表格纪录告诫
privatevoidDataGrid_ItemCreated(Objectsender,DataGridItemEventArgse)
{
 switch(e.Item.ItemType)
 {
  caseListItemType.Item:
  caseListItemType.AlternatingItem:
  caseListItemType.EditItem:
   TableCellmyTableCell;
   myTableCell=e.Item.Cells;
   LinkButtonmyDeleteButton;
   myDeleteButton=(LinkButton)myTableCell.Controls;
   myDeleteButton.Attributes.Add("onclick","returnconfirm(’您是不是断定要删除这条信息’);");
   break;
  default:
   break;
 }
}
  
5.点击表格行链接另外一页
privatevoidgrdCustomer_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)
{
 //点击表格翻开
 if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
  e.Item.Attributes.Add("onclick","window.open(’Default.aspx?id="+e.Item.Cells.Text+"’);");
}
  双击表格毗连到另外一页
  在itemDataBind事务中
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
 stringOrderItemID=e.item.cells.Text;
 ...
 e.item.Attributes.Add("ondblclick","location.href=’../ShippedGrid.aspx?id="+OrderItemID+"’");
}
  双击表格翻开新一页
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
 stringOrderItemID=e.item.cells.Text;
 ...
 e.item.Attributes.Add("ondblclick","open(’../ShippedGrid.aspx?id="+OrderItemID+"’)");
}

6.表格超毗连传记递参数
<asp:HyperLinkColumnTarget="_blank"headertext="ID号"DataTextField="id"NavigateUrl="aaa.aspx?id=’
 <%#DataBinder.Eval(Container.DataItem,"数据字段1")%>’&name=’<%#DataBinder.Eval(Container.DataItem,"数据字段2")%>’/>
  
7.表格点击改动色彩
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
 e.Item.Attributes.Add("onclick","this.style.backgroundColor=’#99cc00’;
   this.style.color=’buttontext’;this.style.cursor=’default’;");
}
  写在DataGrid的_ItemDataBound里
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onmou搜索引擎优化ver","this.style.backgroundColor=’#99cc00’;
   this.style.color=’buttontext’;this.style.cursor=’default’;");
e.Item.Attributes.Add("onmou搜索引擎优化ut","this.style.backgroundColor=’’;this.style.color=’’;");
}
  
8.关于日期格局
  日期格局设定
DataFormatString="{0:yyyy-MM-dd}"
  我以为应当在itembound事务中
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))
  
9.猎取毛病信息并到指定页面
  不要利用Response.Redirect,而应当利用Server.Transfer
  e.g
//inglobal.asax
protectedvoidApplication_Error(Objectsender,EventArgse){
if(Server.GetLastError()isHttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//其他的非HttpUnhandledException非常交给ASP.NET本人处置就okay了:)
}
  Redirect会招致post-back的发生从而丧失了毛病信息,以是页面导向应当间接在服务器端实行,如许就能够在毛病处置页面失掉堕落信息并举行响应的处置
  
10.清空Cookie
Cookie.Expires=;
Response.Cookies("UserName").Expires=0
  
11.自界说非常处置
//自界说非常处置类
usingSystem;
usingSystem.Diagnostics;
namespaceMyAppException
{
 ///<summary>
 ///从体系非常类ApplicationException承继的使用程序非常处置类。
 ///主动将非常内容纪录到WindowsNT/2000的使用程序日记
 ///</summary>
 publicclassAppException:System.ApplicationException
 {
  publicAppException()
  {
   if(ApplicationConfiguration.EventLogEnabled)LogEvent("呈现一个未知毛病。");
  }
 publicAppException(stringmessage)
 {
  LogEvent(message);
 }
 publicAppException(stringmessage,ExceptioninnerException)
 {
  LogEvent(message);
  if(innerException!=null)
  {
   LogEvent(innerException.Message);
  }
 }
 //日记纪录类
 usingSystem;
 usingSystem.Configuration;
 usingSystem.Diagnostics;
 usingSystem.IO;
 usingSystem.Text;
 usingSystem.Threading;
 namespaceMyEventLog
 {
  ///<summary>
  ///事务日记纪录类,供应事务日记纪录撑持
  ///<remarks>
  ///界说了4个日记纪录办法(error,warning,info,trace)
  ///</remarks>
  ///</summary>
  publicclassApplicationLog
  {
   ///<summary>
   ///将毛病信息纪录到Win2000/NT事务日记中
   ///<paramname="message">必要纪录的文本信息</param>
   ///</summary>
   publicstaticvoidWriteError(Stringmessage)
   {
    WriteLog(TraceLevel.Error,message);
   }
   ///<summary>
   ///将告诫信息纪录到Win2000/NT事务日记中
   ///<paramname="message">必要纪录的文本信息</param>
   ///</summary>
   publicstaticvoidWriteWarning(Stringmessage)
   {
    WriteLog(TraceLevel.Warning,message);  
   }
   ///<summary>
   ///将提醒信息纪录到Win2000/NT事务日记中
   ///<paramname="message">必要纪录的文本信息</param>
   ///</summary>
   publicstaticvoidWriteInfo(Stringmessage)
   {
    WriteLog(TraceLevel.Info,message);
   }
   ///<summary>
   ///将跟踪信息纪录到Win2000/NT事务日记中
   ///<paramname="message">必要纪录的文本信息</param>
   ///</summary>
   publicstaticvoidWriteTrace(Stringmessage)
   {
    WriteLog(TraceLevel.Verbose,message);
   }
   ///<summary>
   ///格局化纪录到事务日记的文本信息格局
   ///<paramname="ex">必要格局化的非常对象</param>
   ///<paramname="catchInfo">非常信息题目字符串.</param>
   ///<retvalue>
   ///<para>格局后的非常信息字符串,包含非常内容和跟踪仓库.</para>
   ///</retvalue>
   ///</summary>
   publicstaticStringFormatException(Exceptionex,StringcatchInfo)
   {
    StringBuilderstrBuilder=newStringBuilder();
    if(catchInfo!=String.Empty)
    {
     strBuilder.Append(catchInfo).Append("");
    }
    strBuilder.Append(ex.Message).Append("").Append(ex.StackTrace);
    returnstrBuilder.ToString();
   }
   ///<summary>
   ///实践事务日记写进办法
   ///<paramname="level">要纪录信息的级别(error,warning,info,trace).</param>
   ///<paramname="messageText">要纪录的文本.</param>
   ///</summary>
   privatestaticvoidWriteLog(TraceLevellevel,StringmessageText)
   {
    try
    {
     EventLogEntryTypeLogEntryType;
     switch(level)
     {
      caseTraceLevel.Error:
       LogEntryType=EventLogEntryType.Error;
       break;
      caseTraceLevel.Warning:
       LogEntryType=EventLogEntryType.Warning;
       break;
      caseTraceLevel.Info:
       LogEntryType=EventLogEntryType.Information;
       break;
      caseTraceLevel.Verbose:
       LogEntryType=EventLogEntryType.SuccessAudit;
       break;
      default:
       LogEntryType=EventLogEntryType.SuccessAudit;
       break;
     }
     EventLogeventLog=newEventLog("Application",ApplicationConfiguration.EventLogMachineName,ApplicationConfiguration.EventLogSourceName);
     //写进事务日记
     eventLog.WriteEntry(messageText,LogEntryType);
    }
   catch{}//疏忽任何非常
  }
 }//classApplicationLog
}
12.Panel横向转动,纵向主动扩大
<asp:panelstyle="overflow-x:scroll;overflow-y:auto;"></asp:panel>
  
13.回车转换成Tab
<scriptlanguage="javascript"for="document"event="onkeydown">
 if(event.keyCode==13&&event.srcElement.type!=’button’&&event.srcElement.type!=’submit’&&    event.srcElement.type!=’reset’&&event.srcElement.type!=’’&&event.srcElement.type!=’textarea’);
   event.keyCode=9;
</script>
onkeydown="if(event.keyCode==13)event.keyCode=9"
  
14.DataGrid超等毗连列
DataNavigateUrlField="字段名"DataNavigateUrlFormatString="http://xx/inc/delete.aspx?ID={0}"
  
15.DataGrid行随鼠标变色
privatevoidDGzf_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)
{
 if(e.Item.ItemType!=ListItemType.Header)
 {
  e.Item.Attributes.Add("onmou搜索引擎优化ut","this.style.backgroundColor=""+e.Item.Style["BACKGROUND-COLOR"]+""");
  e.Item.Attributes.Add("onmou搜索引擎优化ver","this.style.backgroundColor=""+"#EFF3F7"+""");
 }
}
  
16.模板列
<ASP:TEMPLATECOLUMNvisible="False"sortexpression="demo"headertext="ID">
<ITEMTEMPLATE>
<ASP:LABELtext=’<%#DataBinder.Eval(Container.DataItem,"ArticleID")%>’runat="server"width="80%"id="lblColumn"/>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMNheadertext="选中">
<HEADERSTYLEwrap="False"horizontalalign="Center"></HEADERSTYLE>
<ITEMTEMPLATE>
<ASP:CHECKBOXid="chkExport"runat="server"/>
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<ASP:CHECKBOXid="chkExportON"runat="server"enabled="true"/>
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
  背景代码
protectedvoidCheckAll_CheckedChanged(objectsender,System.EventArgse)
{
 //改动列的选定,完成全选或全不选。
 CheckBoxchkExport;
 if(CheckAll.Checked)
 {
  foreach(DataGridItemoDataGridIteminMyDataGrid.Items)
  {
   chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");
   chkExport.Checked=true;
  }
 }
 else
 {
  foreach(DataGridItemoDataGridIteminMyDataGrid.Items)
  {
   chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");
   chkExport.Checked=false;
  }
 }
}
  
17.数字格局化
  【<%#Container.DataItem("price")%>的了局是500.0000,如何格局化为500.00?】
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
inti=123456;
strings=i.ToString("###,###.00");
18.日期格局化
  【aspx页面内:<%#DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
  显现为:2004-8-1119:44:28
  我只想要:2004-8-11】
<%#DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
  应当怎样改?
  【格局化日期】
  掏出来,通常为object((DateTime)objectFromDB).ToString("yyyy-MM-dd");
  【日期的考证表达式】
  A.以下准确的输出格局:,,
^((d{2}(()|())[-/s]?((((0?)|(1))[-/s]?((0?)|()|(3)))|(((0?)|(11))[-/s]?((0?)|()|(30)))|(0?2[-/s]?((0?)|()))))|(d{2}(()|())[-/s]?((((0?)|(1))[-/s]?((0?)|()|(3)))|(((0?)|(11))[-/s]?((0?)|()|(30)))|(0?2[-/s]?((0?)|(1)|(2))))))(s(((0?)|(1)):()((s)|(:()s))({2,2})))?$
  B.以下准确的输出格局:,,
^d{4}[-/s]?((((0)|(1))[-/s]?(()|(3)))|(((0)|(11))[-/s]?(()|(30)))|(02[-/s]?))$
  【巨细写转换】
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
  
19.怎样设定全局变量
  Global.asax中
  Application_Start()事务中
  增加Application[属性名]=xxx;
  就是你的全局变量
  
20.如何作到HyperLinkColumn天生的毗连后,点击毗连,翻开新窗口?
  HyperLinkColumn有个属性Target,将器值设置成"_blank"便可.(Target="_blank")
  【ASPNETMENU】点击菜单项弹出新窗口
  在你的menuData.xml文件的菜单项中到场URLTarget="_blank",如:
<?xmlversion="1.0"encoding="GB2312"?>
<MenuDataImagesBaseURL="images/">
<MenuGroup>
<MenuItemLabel="内参信息"URL="Infomation.aspx">
<MenuGroupID="BBC">
<MenuItemLabel="通告信息"URL="Infomation.aspx"URLTarget="_blank"LeftIcon="file.gif"/>
<MenuItemLabel="体例信息简报"URL="NewInfo.aspx"LeftIcon="file.gif"/>
......
  最好将你的aspnetmenu晋级到1.2版
  
21.读取DataGrid控件TextBox值
foreach(DataGriddgiinyourDataGrid.Items)
{
 TextBoxtb=(TextBox)dgi.FindControl("yourTextBoxId");
 tb.Text....
}
  
23.在DataGrid中有3个模板列包括Textbox分离为DG_ShuLiang(数目)DG_DanJian(单价)DG_JinE(金额)分离在5.6.7列,请求在录进数目及单价的时分主动算出金额即:数目*单价=金额还请求录进时限定为数值型.我怎样用客户端剧本完成这个功效?
  〖思回〗
<asp:TemplateColumnHeaderText="数目">
<ItemTemplate>
<asp:TextBoxid="ShuLiang"runat=’server’Text=’<%#DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>’
onkeyup="javascript:DoCal()"
/>
<asp:RegularExpressionValidatorid="revS"runat="server"ControlToValidate="ShuLiang"ErrorMessage="mustbeinteger"ValidationExpression="^d+$"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="单价">
<ItemTemplate>
<asp:TextBoxid="DanJian"runat=’server’Text=’<%#DataBinder.Eval(Container.DataItem,"DG_DanJian")%>’
onkeyup="javascript:DoCal()"
/>
<asp:RegularExpressionValidatorid="revS2"runat="server"ControlToValidate="DanJian"ErrorMessage="mustbenumeric"ValidationExpression="^d+(.d*)?$"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="金额">
<ItemTemplate>
<asp:TextBoxid="JinE"runat=’server’Text=’<%#DataBinder.Eval(Container.DataItem,"DG_JinE")%>’/>
</ItemTemplate>
</asp:TemplateColumn><scriptlanguage="javascript">
functionDoCal()
{
 vare=event.srcElement;
 varrow=e.parentNode.parentNode;
 vartxts=row.all.tags("INPUT");
 if(!txts.length||txts.length<3)
  return;
 varq=txts.value;
 varp=txts.value;
 if(isNaN(q)||isNaN(p))
  return;
 q=parseInt(q);
 p=parseFloat(p);
 txts.value=(q*p).toFixed(2);
}
</script>

24.datagrid选定对照底下的行时,为何老是革新一下,然后就转动到了最下面,方才选定的行因屏幕的干系就看不到了。
page_load
page.smartNavigation=true
  
25.在Datagrid中修正数据,当点击编纂键时,数据呈现在文本框中,怎样把持文本框的巨细?
privatevoidDataGrid1_ItemDataBound(objsender,DataGridItemEventArgse)
{
 for(inti=0;i<e.Item.Cells.Count-1;i++)
  if(e.Item.ItemType==ListItemType.EditType)
  {
   e.Item.Cells.Attributes.Add("Width","80px")
  }
}
  
26.对话框
privatestaticstringScriptBegin="<scriptlanguage="JavaScript">";
privatestaticstringScriptEnd="</script>";
publicstaticvoidConfirmMessageBox(stringPageTarget,stringContent)
{
 stringConfirmContent="varretValue=window.confirm(’"+Content+"’);"+"if(retValue){window.location=’"+PageTarget+"’;}";
 ConfirmContent=ScriptBegin+ConfirmContent+ScriptEnd;
 PageParameterPage=(Page)System.Web.HttpContext.Current.Handler;
 ParameterPage.RegisterStartupScript("confirm",ConfirmContent);
 //Response.Write(strScript);
}
  
27.将工夫格局化:
stringaa=DateTime.Now.ToString("yyyy年MM月dd日");
  1.1取以后年代日时分秒
currentTime=System.DateTime.Now;
  1.2取以后年
int年=DateTime.Now.Year;
  1.3取以后月
int月=DateTime.Now.Month;
  1.4取以后日
int日=DateTime.Now.Day;
  1.5取以后时
int时=DateTime.Now.Hour;
  1.6取以后分
int分=DateTime.Now.Minute;
  1.7取以后秒
int秒=DateTime.Now.Second;
  1.8取以后毫秒
int毫秒=DateTime.Now.Millisecond;
  
28.自界说分页代码:
  先界说变量:
publicstaticintpageCount;//总页面数
publicstaticintcurPageIndex=1;//以后页面
  下一页:
if(DataGrid1.CurrentPageIndex<(DataGrid1.PageCount-1))
{
 DataGrid1.CurrentPageIndex+=1;
 curPageIndex+=1;
}
bind();//DataGrid1数据绑定函数
  上一页:
if(DataGrid1.CurrentPageIndex>0)
{
 DataGrid1.CurrentPageIndex+=1;
 curPageIndex-=1;
}
bind();//DataGrid1数据绑定函数
  间接页面跳转:
inta=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()为跳转值
if(a<DataGrid1.PageCount)
{
 this.DataGrid1.CurrentPageIndex=a;
}
bind();
29.DataGrid利用:
  增加删除确认:
privatevoidDataGrid1_ItemCreated(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)
{
 foreach(DataGridItemdiinthis.DataGrid1.Items)
 {
  if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
  {
   ((LinkButton)di.Cells.Controls).Attributes.Add("onclick","returnconfirm(’确认删除此项吗?’);");
  }
 }
}
  款式瓜代:
ListItemTypeitemType=e.Item.ItemType;
if(itemType==ListItemType.Item)
{
 e.Item.Attributes["onmou搜索引擎优化ut"]="javascript:this.style.backgroundColor=’#FFFFFF’;";
 e.Item.Attributes["onmou搜索引擎优化ver"]="javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;";
}
elseif(itemType==ListItemType.AlternatingItem)
{
 e.Item.Attributes["onmou搜索引擎优化ut"]="javascript:this.style.backgroundColor=’#a0d7c4’;";
 e.Item.Attributes["onmou搜索引擎优化ver"]="javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;";
}
  增加一个编号列:
DataTabledt=c.ExecuteRtnTableForAccess(sqltxt);//实行sql前往的DataTable
DataColumndc=dt.Columns.Add("number",System.Type.GetType("System.String"));
for(inti=0;i<dt.Rows.Count;i++)
{
 dt.Rows["number"]=(i+1).ToString();
}
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
  DataGrid1中增加一个CheckBox,页面中增加一个全选框
privatevoidCheckBox2_CheckedChanged(objectsender,System.EventArgse)
{
 foreach(DataGridItemthisiteminDataGrid1.Items)
 {
  ((CheckBox)thisitem.Cells.Controls).Checked=CheckBox2.Checked;
 }
}
  将以后页面中DataGrid1显现的数据全体删除
foreach(DataGridItemthisiteminDataGrid1.Items)
{
 if(((CheckBox)thisitem.Cells.Controls).Checked)
 {
  stringstrloginid=DataGrid1.DataKeys.ToString();
  Del(strloginid);//删除函数
 }
}
  
30.当文件在分歧目次下,必要猎取数据库毗连字符串(假如毗连字符串放在Web.config,然后在Global.asax中初始化)
  在Application_Start中增加以下代码:
Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.
   AppSettings["ConnStr"].ToString();
  
31.变量.ToString()
  字符型转换转为字符串
12345.ToString("n");//天生12,345.00
12345.ToString("C");//天生¥12,345.00
12345.ToString("e");//天生1.234500e+004
12345.ToString("f4");//天生12345.0000
12345.ToString("x");//天生3039(16进制)
12345.ToString("p");//天生1,234,500.00%
  
32、变量.Substring(参数1,参数2);
  截取字串的一部分,参数1为左肇端位数,参数2为截取几位。如:strings1=str.Substring(0,2);
  
33.在本人的网站上上岸其他网站:(假如你的页面是经由过程嵌套体例的话,由于一个页面只能有一个FORM,这时候能够导向别的一个页面再提交上岸信息)
<SCRIPTlanguage="javascript">
<!--
 functiongook(pws)
 {
  frm.submit();
 }
//-->
</SCRIPT><bodyleftMargin="0"topMargin="0"onload="javascript:gook()"marginwidth="0"marginheight="0">
<formname="frm"action="http://220.194.55.68:6080/login.php?retid=7259"method="post">
<tr>
<td>
<inputid="f_user"type="hidden"size="1"name="f_user"runat="server">
<inputid="f_domain"type="hidden"size="1"name="f_domain"runat="server">
<inputclass="box"id="f_pass"type="hidden"size="1"name="pwshow"runat="server">
<INPUTid="lng"type="hidden"maxLength="20"size="1"value="5"name="lng">
<INPUTid="tem"type="hidden"size="1"value="2"name="tem">
</td>
</tr>
</form>
  文本框的称号必需是你要上岸的网页上的称号,假如源码不可能够用vsniffer看看。
  上面是猎取用户输出的上岸信息的代码:
stringname;
name=Request.QueryString["EmailName"];
try
{
 inta=name.IndexOf("@",0,name.Length);
 f_user.Value=name.Substring(0,a);
 f_domain.Value=name.Substring(a+1,name.Length-(a+1));
 f_pass.Value=Request.QueryString["Psw"];
}
catch
{
 Script.Alert("毛病的邮箱!");
 Server.Transfer("index.aspx");
}
无论谁倒了对双方阵营的粉丝们也是有害无益。

柔情似水 发表于 2015-1-21 07:45:04

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。

精灵巫婆 发表于 2015-1-25 22:57:26

ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。

小魔女 发表于 2015-2-4 07:17:19

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

因胸联盟 发表于 2015-2-6 13:50:58

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。

谁可相欹 发表于 2015-2-7 07:50:53

市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。

若天明 发表于 2015-2-9 22:34:16

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

分手快乐 发表于 2015-2-11 08:21:17

Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。

小妖女 发表于 2015-2-15 22:02:59

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

透明 发表于 2015-3-4 14:37:12

提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。

仓酷云 发表于 2015-3-11 09:03:50

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

若相依 发表于 2015-3-11 15:34:52

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

灵魂腐蚀 发表于 2015-3-18 22:51:29

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。

爱飞 发表于 2015-3-26 18:15:08

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
页: [1]
查看完整版本: ASP.NET网页编程之ASP.NET 经常使用的33种代码仓酷云