仓酷云

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

[学习教程] ASP.NET网页编程之让ASP.NET烦琐利用SCRIPT

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:37:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有专家说:java不是跨平台,java就是平台,这很好的定义了java的特点。有了java,你只需要等待java平台在新平台上移植。这还不错吧!只是,java不是一个平台,而是多个平台。你需要在这个java平台移植到另一个java平台。asp.net  在开辟ASP.NET使用程序过程当中编写Script是件很烦人的事变,实在我们能够把经常使用的Script装成响应的.NET组件在服务端挪用,如许能够年夜年夜简化Script的编写还进步的Script的重用。

  以下是经常使用的翻开形式窗体并猎取前往值的类挪用,实践上能够给设置多个参数传进和分歧控件猎取分歧前往值的了局.

  界说翻开窗体并设置前往值剧本类:

HFSoft.Web.Scripts.ShowModalDialogdialog=newHFSoft.Web.Scripts.ShowModalDialog(
XXX.Units.Config.WebBoot+"Appunit/WindowOpenDialog.aspx",
FrmFailureLogSearch.PageURI());
dialog.Height=400;
dialog.Width=600;
dialog.ReturnElements.Add(newHFSoft.Web.Scripts.ReturnElement(this.txtReturn.ClientID,"ReturnString"));
HFSoft.Web.Scripts.RegisterScript.RegiOnClick(cmdSearch,dialog);
  翻开窗体设置前往值的代码:

HFSoft.Web.Scripts.ReturnValuesreturnValue=newHFSoft.Web.Scripts.ReturnValues();
returnValue.Add("ReturnString",filter);
HFSoft.Web.Scripts.RegisterScript.RegiPageClient(this,"return",returnValue);
  翻开窗体类的代码(实在良多Script都能够经由过程如许的体例来封装).

00006namespaceHFSoft.Web.Scripts
00007{
00008///<summary>
00009///创立翻开窗体剧本类
00010///注重:前往值参数据吸收的数据格局必需
00011///key=value|key1=value1|.....
00012///</summary>
00013publicclassShowModalDialog:IExecuteScript
00014{
00015privateconststring_Dialog="window.showModalDialog({0},,dialogHeight:{1}px;
dialogWidth:{2}px;edge:Raised;center:Yes;help:No;resizable:No;status:No;scroll:
Yes;);";
00016#regionIExecuteScript成员
00017privateboolmParent=false;
00018///<summary>
00019///是不是必要加载父指向
00020///</summary>
00021publicboolParent
00022{
00023get
00024{
00025//TODO:增加SetElementsValue.Parentgetter完成
00026returnmParent;
00027}
00028set
00029{
00030//TODO:增加SetElementsValue.Parentsetter完成
00031mParent=value;
00032}
00033}
00034privatestringGetParent()
00035{
00036if(Parent)
00037return"parent.";
00038return"";
00039}
00040///<summary>
00041///机关工具
00042///</summary>
00043///<paramname="pageContainer">容器页</param>
00044///<paramname="openPage">具本翻开的页面</param>
00045publicShowModalDialog(stringpageContainer,stringopenPage)
00046{
00047PageContainer=pageContainer;
00048OpenPage=openPage;
00049}
00050publicconststringPageUrlTag="pageurl";
00051///<summary>
00052///天生剧本
00053///</summary>
00054///<returns>string</returns>
00055publicstringExecute()
00056{
00057//TODO:增加ShowModalDialog.Execute完成
00058stringurl=""+PageContainer+"?pageurl=+"+GetPage();
00059url=string.Format(_Dialog,url,Height,Width);
00060url=GetParent()+url;
00061if(ReturnElements.Count>0)
00062{
00063url="vargetvalue="+url+";if(getvalue!=null){";
00064foreach(ReturnElementiteminReturnElements)
00065{
00066url+=item.GetScript(GetParent());

----------------------------------------------------

00067}
00068url+="}";
00069returnurl+";";
00070}
00071returnurl+";";
00072}
00073
00074#endregion
00075privatestringmPageContainer;
00076///<summary>
00077///猎取或设置容器页(包括路径)
00078///</summary>
00079publicstringPageContainer
00080{
00081get
00082{
00083returnmPageContainer;
00084}
00085set
00086{
00087mPageContainer=value;
00088}
00089}
00090privatestringmOpenPage;
00091///<summary>
00092///翻开的页(包括路径)
00093///</summary>
00094publicstringOpenPage
00095{
00096get
00097{
00098returnmOpenPage;
00099}
00100set
00101{
00102mOpenPage=value;
00103}
00104}
00105privateintmHeight=400;
00106///<summary>
00107///猎取或设置翻开窗体的高度
00108///</summary>
00109publicintHeight
00110{
00111get
00112{
00113returnmHeight;
00114}
00115set
00116{
00117mHeight=value;
00118}
00119}
00120privateintmWidth=400;
00121///<summary>
00122///猎取或设置翻开窗体的宽度
00123///</summary>
00124publicintWidth
00125{
00126get
00127{
00128returnmWidth;
00129}
00130set
00131{

---------------------------------------

00132mWidth=value;
00133}
00134}
00135privateReturnElementCollectionsmReturnElements=newReturnElementCollections();
00136///<summary>
00137///猎取前往值元素集
00138///</summary>
00139publicReturnElementCollectionsReturnElements
00140{
00141get
00142{
00143returnmReturnElements;
00144}
00145}
00146privateParameterCollectionmParameters=newParameterCollection();
00147///<summary>
00148///猎取翻开页面的参数集
00149///</summary>
00150publicParameterCollectionParameters
00151{
00152get
00153{
00154returnmParameters;
00155}
00156}
00157privatestringGetPage()
00158{
00159if(Parameters.Count==0)
00160return""+OpenPage+"";
00161System.Text.StringBuildersb=newSystem.Text.StringBuilder();
00162sb.Append(""+OpenPage+"");
00163stringparam="";
00164stringparent=GetParent();
00165for(inti=0;i<Parameters.Count;i++)
00166{
00167if(Parameters[i].Element==ElementType.Element)
00168{
00169param=""+Parameters[i].Name+"=+"+parent+"document.all(
"+Parameters[i].Value+").value";
00170}
00171elseif(Parameters[i].Element==ElementType.Select)
00172{
00173param=""+Parameters[i].Name+"=+"+parent+"__getSeletedButton("+parent+
"document.all("+Parameters[i].Value+"))";
00174}
00175if(i==0)
00176{
00177sb.Append("+"+System.Web.HttpUtility.UrlEncode("?")+"+"+param);
00178}
00179else
00180{
00181sb.Append("+"+System.Web.HttpUtility.UrlEncode("&")+"+"+param);
00182}
00183}
00184returnsb.ToString();
00185}
00186
00187
00188
00189}
00190#regionsubClass
00191publicenumElementType
00192{
00193None,
00194Element,
00195Select

--------------------------------------------------

00196}
00197///<summary>
00198///参数形貌类
00199///</summary>
00200publicclassParameter
00201{
00202///<summary>
00203///机关参数工具
00204///</summary>
00205publicParameter()
00206{
00207}
00208///<summary>
00209///机关指命名称和值的参数工具
00210///</summary>
00211///<paramname="name">参数称号</param>
00212///<paramname="value">参数值</param>
00213publicParameter(stringname,stringvalue)
00214{
00215Name=name;
00216Value=value;
00217}
00218///<summary>
00219///机关指命名称和值的参数工具
00220///</summary>
00221///<paramname="name">参数称号</param>
00222///<paramname="value">参数值</param>
00223///<paramname="iselement">值是不是元素称号</param>
00224publicParameter(stringname,stringvalue,ElementTypeelement)
00225{
00226Name=name;
00227Value=value;
00228Element=element;
00229}
00230
00231privatestringmName;
00232///<summary>
00233///猎取或设置参数称号
00234///</summary>
00235publicstringName
00236{
00237get
00238{
00239returnmName;
00240}
00241set
00242{
00243mName=value;
00244}
00245}
00246privatestringmValue;
00247///<summary>
00248///猎取或设置参数值
00249///</summary>
00250publicstringValue
00251{
00252get
00253{
00254returnmValue;
00255}
00256set
00257{
00258mValue=value;

----------------------------------------------

00259}
00260}
00261privateElementTypemElement=ElementType.None;
00262///<summary>
00263///猎取或设置参数值是不是参数称号
00264///</summary>
00265publicElementTypeElement
00266{
00267get
00268{
00269returnmElement;
00270}
00271set
00272{
00273mElement=value;
00274}
00275}
00276}
00277publicclassParameterCollection:System.Collections.CollectionBase
00278{
00279publicParameterthis[intindex]
00280{
00281get
00282{
00283return((Parameter)List[index]);
00284}
00285set
00286{
00287List[index]=value;
00288}
00289}
00290
00291publicintAdd(Parametervalue)
00292{
00293return(List.Add(value));
00294}
00295
00296publicintIndexOf(Parametervalue)
00297{
00298return(List.IndexOf(value));
00299}
00300
00301publicvoidInsert(intindex,Parametervalue)
00302{
00303List.Insert(index,value);
00304}
00305
00306publicvoidRemove(Parametervalue)
00307{
00308
00309List.Remove(value);
00310}
00311
00312publicboolContains(Parametervalue)
00313{
00314//IfvalueisnotoftypeInt16,thiswillreturnfalse.
00315return(List.Contains(value));
00316}
00317
00318}
00319///<summary>

----------------------------------------------------


00320///前往值吸收元素形貌类
00321///</summary>
00322publicclassReturnElement
00323{
00324///<summary>
00325///机关工具
00326///</summary>
00327///<paramname="id">吸收值的元素ID</param>
00328///<paramname="key">对应值的键值</param>
00329publicReturnElement(stringid,stringkey)
00330{
00331ID=id;
00332Key=key;
00333}
00334privatestringmID;
00335///<summary>
00336///猎取或设置元素ID
00337///</summary>
00338publicstringID
00339{
00340get
00341{
00342returnmID;
00343}
00344set
00345{
00346mID=value;
00347}
00348}
00349privatestringmKey;
00350///<summary>
00351///猎取或设置对应值的键值
00352///</summary>
00353publicstringKey
00354{
00355get
00356{
00357returnmKey;
00358}
00359set
00360{
00361mKey=value;
00362}
00363}
00364///<summary>
00365///猎取操纵剧本
00366///</summary>
00367///<returns>string</returns>
00368publicstringGetScript(stringparent)
00369{
00370returnparent+"document.all("+ID+").value="+parent+"__AnalyseString("+Key+"
,getvalue);";
00371}
00372}
00373publicclassReturnElementCollections:System.Collections.CollectionBase
00374{
00375publicReturnElementthis[intindex]
00376{
00377get
00378{
00379return((ReturnElement)List[index]);
00380}

---------------------------------------------------

00381set
00382{
00383List[index]=value;
00384}
00385}
00386
00387publicintAdd(ReturnElementvalue)
00388{
00389return(List.Add(value));
00390}
00391
00392publicintIndexOf(ReturnElementvalue)
00393{
00394return(List.IndexOf(value));
00395}
00396
00397publicvoidInsert(intindex,ReturnElementvalue)
00398{
00399List.Insert(index,value);
00400}
00401
00402publicvoidRemove(ReturnElementvalue)
00403{
00404
00405List.Remove(value);
00406}
00407
00408publicboolContains(ReturnElementvalue)
00409{
00410//IfvalueisnotoftypeInt16,thiswillreturnfalse.
00411return(List.Contains(value));
00412}
00413}
00414#endregion
00415}
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-19 10:11:33 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-24 12:09:06 | 只看该作者
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
老尸 该用户已被删除
地板
发表于 2015-2-1 10:18:44 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
若天明 该用户已被删除
5#
发表于 2015-2-7 03:29:44 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
6#
发表于 2015-2-20 07:11:11 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-6 16:44:07 | 只看该作者
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-13 04:15:19 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
小妖女 该用户已被删除
9#
发表于 2015-3-20 12:37:32 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-19 12:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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