|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。asp.net|web|页面DflyingChen(http://dflying.cnblogs.com/)
后面的一系列的文章都是间接挪用独自的一个WebService,而在实践项目开辟中,出格是在对现有的项目转换中,把页面中的逻辑再提取到专门的WebService中常常会带来相称多的事情。Atlas充实思索到了这一点,同意您将服务器真个public办法加上[WebMethod]属性以同意客户端JavaScript的间接挪用。
想同意客户端间接挪用界说在ASPX页面中的办法,您必要指定该办法为public,而且增加[WebMethod]属性,比方以下界说在ASPX文件中的服务器端办法:
<scriptrunat="server">
[WebMethod]
publicintAddInt(intint1,intint2)
{
returnint1+int2;
}
</script>
在客户端,Atlas将为您Mashup出一个AddInt的JavaScript办法,存在于一个特别的定名空间PageMethods中,如许您就能够经由过程PageMethods.AddInt()挪用下面的办法了。
同时,将WebMethod界说到ASPX页面中,您还能够在该办法中会见统统页面上的服务器端控件的值和ViewState,而且全部页面的的保存周期将和传统的ASP.NET页面PostBack一样,诸如Page_Load等办法均会被挪用,可让我们对页面有更强的会见才能。不外如许也带来了功能上的扣头,由于每次挪用WebMethod的时分城市把页面上的ViewState和控件的值传回给服务器,而且服务器端处置全部页面的保存周期将要比仅仅处置一个地道的界说在ASMX中的WebMethod要庞大的多。以是这里我保举尽量的利用地道的WebService,请参考:在Atlas服务器端完成中保举利用WebService而不是PageMethod。
上面来看一个实例,起首来界说在ASPX中的WebMethod,能够看到这里不但单求两个数的和,还会见了一个页面上的服务器端TextBox的值:
<scriptrunat="server">
[WebMethod]
publicstringAddInt(intint1,intint2)
{
return(int1+int2).ToString()+string.Format("
AndtheServerTextBoxsTextis{0}.",tbServer.Text);
}
</script>
然后是页面的ScriptManager,这里无需增加任何援用了:<atlas:ScriptManagerID="scriptManager"runat="server"/>
然后两个用来输出加数的input和用来触发服务器挪用的input:
<inputid="value1"type="text"value="1"/>
<inputid="value2"type="text"value="2"/>
<inputid="btnAdd"type="button"value="Add!"/>
另有一个服务器端TextBox:
<asp:TextBoxID="tbServer"runat="server"Text="Servercontrol"></asp:TextBox>
最初是JavaScript挪用,注重PageMethods这个内建的定名空间:
functionbtnAdd_onclick(){
PageMethods.AddInt(
$(value1).value,
$(value2).value,
OnComplete
);
}
functionOnComplete(result)
{
alert(result);
}
扫瞄器中运转,输出两个加数,然后在Server真个TextBox中输出一些字符,点击Add,能够看到Server真个TextBox的值倒是被会见到了:
这是Fiddler截获的收集传输,能够看到ViewState和TextBox都被传回了Server:
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 |
|