亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? default.aspx

?? ajax是未來之星
?? ASPX
?? 第 1 頁 / 共 2 頁
字號:
<%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="AjaxProSample.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 

<html>
  <head>
    <title>Ajax.NET Professional Demo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script src="DemoMethods.js" language="javascript"></script>
    <style type="text/css">
@import "main.css";
	</style>
  </head>
  <body>
    
    <form id="Form1" runat="server" method="post">
    
    <script language="javascript" src="service1.asmx?AJAX"></script>
    
			<h1>Ajax.NET Professional - A free library for the Microsoft .NET Framework</h1>
			<h3>Asynchronous JavaScript with XmlHttpRequest - from the author of Ajax.NET</h3>


			<p><b>Contact Address / Impressum</b></p>
			<p>This web site is a demonstration page of the Ajax.NET Professional library I have build in my free time.</p>
			<p><i>Michael Schwarz<br>Meisenweg 2<br>90547 Stein<br>Germany</i></p>
			<p>Use my contact form at <a href="http://weblogs.asp.net/mschwarz/contact.aspx">http://weblogs.asp.net/mschwarz/contact.aspx</a> to give feedback, ideas and if you got any error.</p>

    
    <h3>Ajax.NET Professional Download</h3>
    
    		<p>Visit my blog at <a href="http://weblogs.asp.net/mschwarz/">http://weblogs.asp.net/mschwarz/</a> for the latest news about this library.</p>

			<p>The library can be downloaded from this web page. As this project is a technology demonstration of XmlHttp requests there is no warranty:</p>

			<p>THE LIBRARY IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,<br>
INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LIBRARY IS FREE OF DEFECTS, MERCHANTABLE,<br>
FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE<br>
OF THE LIBRARY IS WITH YOU. SHOULD ANY PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL<br>
DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION.</p>

			<p>THE SOURCE CODE IS ONLY PROVIDED TO SHOW HOW Ajax.NET Professional IS WORKING INTERN. IT IS<br>
STRICTLY FORBIDDEN TO CREATE YOUR OWN AJAX LIBRARY FOR THE .NET FRAMEWORK USING THIS SOURCE CODE.<br>
SOME FEATURES WILL BE INCLUDED IN THE Ajax.NET LIBRARY (BorgWorX) IN THE NEXT WEEKS. PLEASE VISIT<br>
<a href="http://www.borgworx.com/" target="_new">www.BorgWorx.com</a> FOR THE LATEST Ajax.NET LIBRARY NEWS.</p>

			<p>If you have accepted the terms above you can <a href="download/ajaxpro.zip">download</a> Ajax.NET Professional including this example project.</p>
    
    <h3><font color="red">NEW!</font> Fixed bugs and new features</h3>
    
    <p>
    <ul>
		<li>supporting nested classes</li>
		<li>fixed caching support of Ajax.NET Professional requests (are the arguments equal?)</li>
    </ul>
    </p>
    
    
    <h3><font color="red">NEW!</font> Enums on JavaScript client-side code</h3>
    
    <p>The value of enums are exported as integer. If you want to use .NET syntax to test the enum values you can export the enums as JavaScript objects:</p>

	<pre>
<b>[AjaxPro.AjaxEnum]
public enum GenderType
{
  Male,
  Female,
  Unknown
}</b>

[AjaxPro.AjaxClass]
public class IPerson
{
  public string FirstName;
  // ...
  public GenderType Gender = GenderType.Unknown;  
}
	</pre>
    
    <p>To export the enum you can put following code to your Page_Load method:</p>
    
    <pre>
private void Page_Load(object sender, System.EventArgs e)
{
  <b>AjaxPro.Utility.RegisterEnumForAjax(typeof(AjaxProSample.NamespaceTest.Demo.GenderType));</b>
}
    </pre>
    
    <p>On the client-side JavaScript you can then use the generated enum class to test a property:</p>
    
    <pre>
&lt;script language="javascript"&gt;

var res = AjaxProSample.NamespaceTest.Demo.DemoMethods.GetPerson(1);
var person = res.value;
alert("Person is GenderType.Male: " + (<b>person.Gender == AjaxProSample.NamespaceTest.Demo.GenderType.Male</b>));
alert("Person is GenderType.Female: " + (<b>person.Gender ==AjaxProSample.NamespaceTest.Demo.GenderType.Female</b>));

&lt;/script&gt;	
	</pre>
    
    <p><a href="javascript:void(0);" onclick="enumTest();">Click here</a> for the enum type. It will display two messages boxes, the returned IPerson object will be GenderType.Female.</p>
    
    <h3><font color="red">NEW!</font> DateTime, new Date() and TimeZones</h3>
    
	<p>Oh, time zones are really cool, don't think so? Ok, Ajax.NET Professional supports time zone, now. Why do I need this? Well, if you want to create a calendar web site you want to allow the user to create a new schedule. He will enter a date (new Date()) and a subject and send this information back to the server. Two days later he will travel to a different time zone. Now, he want to see the schedule in the correct time zone. All browsers are using the system wide configured time zone to create dates.</p>    
    
	<pre>
&lt;script language="javascript"&gt;

<b>alert(new Date());</b>

&lt;/script&gt;	
	</pre>
    
    <p><a href="javascript:void(0);" onclick="alert(new Date());">Click here</a> to see in which time zone you are working.</p>
    
    <p>I have done a small time test where I try to get the time from the web server. (Note: my web server is in Germany and is configured with the local time zone here in Germany.) After displaying the date I will use this value to send it back to the server, only for testing the round-trip. The last message box will display the date formatted as string on the web server. See the C# source code:</p>
    
    <pre>
[AjaxPro.AjaxMethod]
public DateTime GetServerTime()
{
  return DateTime.Now;
}

[AjaxPro.AjaxMethod]
public DateTime PutServerTime(DateTime d)
{
  return d;
}

[AjaxPro.AjaxMethod]
public string GetDateStringOnServer(DateTime d)
{
	return d.ToString();	// this will return a DateTime formatted to the web servers date format
}    
    </pre>
    
    <p><a href="javascript:void(0);" onclick="timeTest();">Click here</a> for the time test!</p>
       
    <h3><span style="color:red">NEW!</span> Ajax.NET Professional Source Code</h3>
   
	<p>I got a lot of requests for showing the source code of Ajax.NET Professional. Yes, the source code will be available on Firday evening, some minutes before I got to bed and travel to Los Angeles to attend the PDC.</p>
    
    
    <h3><span style="color:red">NEW!</span> Session State handling with Ajax.NET</h3>
			
	<p>Now, we you can access your session variables, there was a small bug.</p>
	<p>First click on <i>write</i> to save the value i.e. "demo" to the session on the server. Now, you can press F5 (reload) and click on <i>read</i>. You should see the same value as you have written to the session state.</p>
	<table>
	<tr><td>Session Handling Demo</td></tr>
	<tr><td>Write value</td><td><input type="text" id="sessionTest1" value="demo"></td><td><a href="javascript:test5();void(0);">Write</a></td></tr>
	<tr><td>Read value</td><td><input type="text" id="sessionTest2" value=""></td><td><a href="javascript:test6();void(0);">Read</a></td></tr>
	</table>

	<p>On the server the C# method looks like following code:</p>
			
	<pre>
[AjaxPro.AjaxMethod(<b>AjaxPro.HttpSessionStateRequirement.ReadWrite</b>)]
public void Test5(string value)
{
  System.Web.HttpContext.Current.Session["example"] = value;
}

[AjaxPro.AjaxMethod(<b>AjaxPro.HttpSessionStateRequirement.Read</b>)]
public string Test6()
{
  if(System.Web.HttpContext.Current.Session["example"] != null)
    return (string)System.Web.HttpContext.Current.Session["example"];

  return "First set the value...";
}
</pre>
    
    
    
    <h3>JavaScript Object Wrappers</h3>
    
    <p>The first new feature is the use of client-side JavaScript objects for arguments of Ajax.NET Professional methods. Let us make an example: You want the user to add several contacts. You can use following code to create a in memory DataSet on the client:</p>
    
    <pre>
&lt;script language="javascript"&gt;

var ds = new <b>System.Data.DataSet("MyDataset")</b>;
	
// create first table
var dt = new <b>System.Data.DataTable("FirstTable")</b>;

// defining columns
dt.addColumn("FirstName", "System.String");
dt.addColumn("Age", "System.Int32");
dt.addColumn("Birthday", "System.DateTime");

&lt;/script&gt;
    </pre>
    
    <p>How do we add a row? Nothing easier than this:</p>
    
    <pre>
&lt;script language="javascript"&gt;

// adding two sample rows 
dt.Rows.push({"FirstName":"Hans Werner","Age":20,"Birthday":new Date()});
dt.Rows.push({"FirstName":"Olaf","Age":333,"Birthday":new Date(1977,4,20)});

&lt;/script&gt;
    </pre>
    
    <p>Or maybe you want to use an row object to be added to the table? See, how we can do this:</p>
    
    <pre>
&lt;script language="javascript"&gt;

var r = new Object();
r.FirstName = "Michael";
r.Alter = 999;
r.Birthday = new Date();
dt.Rows.push(r);

&lt;/script&gt;
    </pre>
    
    <p>Ok, let us put the DataTable to the DataSet and send it to a Ajax.NET Professional method that will return the XML data of this DataSet (using .WriteXml()):</p>
    
	<pre>
&lt;script language="javascript"&gt;

// add the table to the DataSet
ds.Tables.push(dt);

WebForm1.GetDataSetXml(ds, callback2);

&lt;/script&gt;
	</pre>    
	
	<p><a href="javascript:void(0);" onclick="WebForm1.GetDataSetXml(buildSampleDataSet(), callback2);">Click here</a></p>


	<h3>How encryption and tokens are working</h3>
    
    <p>Ajax.NET Professional allows you to encrypt your data between the client and the server.</p>
    <p>A token can be used to identify if it is a valid user. See, there are a lot of crawlers running to fetch XML data or JSON formatted strings to display the same information on their web sites. To protect yourself you can simply add a token to the page that will be identify your users. The token will be unique and cannot copied to another browser or computer. Currently I am searching for a <i>good</i> token.</p>
    <p>For more details see <a href="source/SampleCryptProvider.cs.txt">SampleCryptProvider.cs</a> and <a href="source/SampleKeyProvider.cs.txt">SampleKeyProvider.cs</a></p>
    <p>Click on <a href="javascript:void(0);" onclick="MS.Debug.enabled=true;">Enable</a> to enable tracing and click on any Ajax.NET Profession button to see all the messages.</p>
    
    <p>If you are using <a href="http://www.fiddlertool.com/fiddler/" target="_blank">Fiddler</a> you can watch on what is sent to and from the server. In your example I have done a small test by reverting the string (mirror string):</p>
    <p><img src="images/fiddler-encrypt.gif"></p>
    
    <p>To enable encryption or using your own provider (IAjaxCryptProvider) you have to modify your web.config:</p>
    
    <pre>
&lt;ajaxNet&gt;
  &lt;ajaxSettings&gt;
    &lt;encryption cryptType="AjaxProSample.SampleCryptProvider, AjaxProSample"
           keyType="AjaxProSample.SampleKeyProvider, AjaxProSample" /&gt;
  &lt;/ajaxSettings&gt;
&lt;/ajaxNet&gt;
	</pre> 
    
    <h3>JavaScript files are cached</h3>
    
    <p>Because there a some JavaScript files that have to be generated as proxy between JavaScript and .NET I have added a caching mechanism using the ETag (see HTTP protocol). The virtual files are only downloaded once. For further requests the browser will make short requests to the server to ask for a newer version. This is needed because .NET methods can change and this is important for the client requests.</p>
    
    <p><img src="images/fiddler-etag.gif"></p>
    <p>In the image above you can see two requests to the same page. During the first request the browser gets all the files needed for this running Ajax.NET Professional. The second request will only return the main page, the JavaScript wrappers are unchanged. You can see that if you have a look on the HTTP status 304 and that the size of the files is zero.</p>
    
    
    <h3>Using NameSpaces</h3>
    
    <p>With the new version I have added namespaces for JavaScript, too. If you register a class for Ajax.NET Professional the complete .NET namesapce will be used for the client.</p>
    <p>Before: WebForm1.MyMethod<br>Now: WebApplication1.WebForm1.MyMethod</p>
    <p>You can specifiy a different namespace with the new AjaxClassAttribute that you can i.e. put to the Page class to get the old method for JavaScript calls.</p>
    
    <h3>Use any class as return value or argument (no IAjaxObjectConverter needed)</h3>
    
    <p>I have changed the JSON parser that it will accept all objects as return value and argument for your Ajax.NET Professional methods.</p>
	<p>Let us write a short example: In .NET I am using a class IPerson to hold person information. A IBoss class is inherited from IPerson and adds the property <i>Company</i>:</p>    
	
	<pre>
[AjaxPro.AjaxClass]
public class IPerson
{
  public string FirstName;
  public string FamilyName;
  public int Age = 0;
}

public class IBoss : IPerson
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆成人久久精品二区三区| 日本欧洲一区二区| 亚洲日穴在线视频| 一区二区欧美精品| 亚洲成a人片在线不卡一二三区| 蜜乳av一区二区| 成人免费高清在线| 欧美精选一区二区| 欧美国产日韩在线观看| 亚洲午夜av在线| 国产一区二区女| 91久久精品一区二区| 精品国产乱码久久久久久免费| 国产精品污网站| 午夜伦欧美伦电影理论片| 国产精品一级在线| 欧美三级中文字幕在线观看| 欧美videossexotv100| 亚洲精品成人在线| 国产在线精品一区二区三区不卡 | 欧美成人欧美edvon| 国产精品国产三级国产普通话99 | 日韩视频免费观看高清完整版| 欧美色倩网站大全免费| 亚洲欧美国产三级| 一本久久综合亚洲鲁鲁五月天| 欧美精品自拍偷拍| 国产精品美女久久久久久久久久久 | 午夜久久久久久| 成人h动漫精品一区二区| 欧美一级精品在线| 亚洲激情中文1区| 国产iv一区二区三区| 91精品国产品国语在线不卡| 综合久久综合久久| 激情丁香综合五月| 这里只有精品免费| 夜色激情一区二区| 高清不卡在线观看| 欧洲一区在线电影| 国产精品美女久久久久av爽李琼| 日韩国产在线观看| www.欧美.com| 国产亚洲成av人在线观看导航| 亚洲第一福利一区| 91色婷婷久久久久合中文| 国产性做久久久久久| 免费精品视频在线| 在线不卡欧美精品一区二区三区| 国产精品丝袜一区| 国产盗摄视频一区二区三区| 日韩视频123| 亚洲第一福利视频在线| 91麻豆国产在线观看| 国产精品视频看| 五月婷婷久久综合| 在线免费观看日本一区| 国产精品大尺度| 国产精品一区专区| 337p日本欧洲亚洲大胆精品| 日韩电影免费在线观看网站| 欧美日韩一区二区在线观看| 亚洲欧美电影一区二区| 成人av资源下载| 国产精品女主播在线观看| 国产一区二区三区最好精华液| 日韩一二三区不卡| 日韩中文字幕91| 欧美浪妇xxxx高跟鞋交| 亚洲国产中文字幕| 欧美日韩精品电影| 午夜精品福利在线| 欧美精品日韩一区| 欧美一二三区在线| 成人欧美一区二区三区1314| 成人白浆超碰人人人人| 国产精品久久一级| 97久久久精品综合88久久| 国产精品家庭影院| 91麻豆高清视频| 亚洲一区二区美女| 欧美三级韩国三级日本三斤 | 欧美在线一区二区三区| 一区二区欧美视频| 在线成人午夜影院| 日本成人在线网站| 精品国产一区久久| 国产不卡视频在线播放| 中文在线资源观看网站视频免费不卡 | 亚洲一二三区不卡| 欧美理论片在线| 看电视剧不卡顿的网站| 久久久天堂av| 99久久国产免费看| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩一二三| 蜜臀久久久99精品久久久久久| 精品成a人在线观看| 国产黑丝在线一区二区三区| 国产精品国产自产拍高清av王其| 欧美无乱码久久久免费午夜一区 | 国产99精品国产| 中文字幕一区二区三区不卡| 欧美自拍偷拍一区| 免费成人在线影院| 国产日韩欧美a| 91国模大尺度私拍在线视频| 日韩综合在线视频| 国产日韩欧美综合在线| 91在线视频观看| 丝袜脚交一区二区| 久久综合色天天久久综合图片| 成人av电影在线播放| 亚洲成人第一页| 欧美成人r级一区二区三区| 国产资源在线一区| 国产欧美日产一区| 91丨porny丨蝌蚪视频| 亚洲成a人片在线不卡一二三区| 精品久久久久久久人人人人传媒 | 日韩欧美一卡二卡| 日本特黄久久久高潮| 欧美极品另类videosde| 欧美性生交片4| 国产精品一区免费视频| 一区二区三区久久久| 欧美电影精品一区二区| 成人精品视频.| 午夜精品久久久久久久99水蜜桃 | 亚洲欧洲日韩女同| 欧美国产乱子伦| 午夜精品一区二区三区电影天堂 | 欧美日韩国产另类一区| 亚洲日韩欧美一区二区在线| 日韩欧美一区二区视频| 成人美女视频在线看| 日韩av中文在线观看| 中文字幕一区二区视频| 欧美白人最猛性xxxxx69交| 日本精品免费观看高清观看| 国内精品免费**视频| 亚洲综合视频网| 国产日韩av一区| 欧美无砖砖区免费| 99久久婷婷国产综合精品电影 | 日韩一区二区中文字幕| 色综合久久久网| 国产精品一级黄| 日本v片在线高清不卡在线观看| 2021国产精品久久精品| 欧美日韩一区二区在线视频| 懂色av一区二区三区蜜臀 | 日韩欧美一级精品久久| 欧美日韩国产bt| 麻豆精品在线看| 亚洲福利视频一区二区| 中文字幕亚洲不卡| 国产亚洲美州欧州综合国| 日韩视频在线永久播放| 欧美视频三区在线播放| 99视频精品免费视频| 国产福利一区在线观看| 精品一区二区三区视频在线观看| 一区二区成人在线| 最新国产成人在线观看| 亚洲国产精华液网站w| 久久97超碰国产精品超碰| 欧美日韩在线综合| 日本韩国欧美一区| caoporen国产精品视频| 成人一区二区三区中文字幕| 国产在线观看一区二区| 久久国产精品露脸对白| 免费观看一级欧美片| 天堂va蜜桃一区二区三区| 亚洲一区二区五区| 亚洲精品午夜久久久| 国产精品久久一卡二卡| 亚洲欧美在线视频观看| 国产欧美精品国产国产专区| 久久久久久久久岛国免费| 精品国产制服丝袜高跟| 久久综合九色综合欧美98| 精品美女一区二区三区| 精品国产区一区| 久久久久久久久久久久久夜| 日本一区二区三区在线不卡| 大陆成人av片| 狠狠色丁香久久婷婷综合丁香| 极品少妇xxxx偷拍精品少妇| 久久99这里只有精品| 狠狠色综合日日| 国产.精品.日韩.另类.中文.在线.播放| 国产精品伊人色| 99久久久精品| 在线观看网站黄不卡| 欧美日韩国产bt| 欧美成人a视频| 日本一区二区三区国色天香| 国产精品国产三级国产普通话三级 |