何かを学びます。足跡を残します。
効果を達成するために、ボタン、バックグラウンドロード・データソースをクリックし、フロントデスクはドロップダウンするボックスにバインドされています。
レセプション:
<%
@ページ言語
=
"
C#
"
AutoEventWireup属性
=
"
真の
"
分離コード
=
"
JsonTrans.aspx.csは、
"
継承
=
"
auotoCompleteText.JsonTrans
"
%> <!DOCTYPE用HTML PUBLIC " - // W3C // DTD XHTML 1.0過渡// EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < HTML のxmlns = "のhttp:/ /www.w3.org/1999/xhtml」> < 頭にrunat = "サーバー" > <
スクリプト タイプ = "テキスト/ javascriptの" SRC = "jqueryの-1.3.2-vsdoc2.js" > </ スクリプト > < スクリプトタイプ= "テキスト/ javascriptの" > 関数loadValue(){ $に.get(" JsonTransHander.ashx " 、関数(jsonData){ デバッガ; VARのJSON = 評価(jsonData)用(VAR I = 0 ; iは< json.lengthと、iは++ ){ // JS // VARのOP =新しいオプション(JSON [I]。 [I] .ID名、JSON)。
// のdocument.getElementById( "選択1")options.add(OP)。 // jQueryの$(" #選択1 " ).append(" <オプション値= ' " + JSON [i]の.VALUE + " '> " + JSON [I] .nameの+ " </オプション> " ); } })。} </ スクリプト> </ ヘッド> < ボディ> < フォームID = "Form1の" にrunat = "サーバー" > <
選択 IDを = "・セレクト" > </ 選択> < 入力タイプ= "ボタン" 値= "負荷" のonclick = "loadValue();" /> </ DIV > </ 構成> </ ボディ> </ HTML >
スクリプト タイプ = "テキスト/ javascriptの" SRC = "jqueryの-1.3.2-vsdoc2.js" > </ スクリプト > < スクリプトタイプ= "テキスト/ javascriptの" > 関数loadValue(){ $に.get(" JsonTransHander.ashx " 、関数(jsonData){ デバッガ; VARのJSON = 評価(jsonData)用(VAR I = 0 ; iは< json.lengthと、iは++ ){ // JS // VARのOP =新しいオプション(JSON [I]。 [I] .ID名、JSON)。
// のdocument.getElementById( "選択1")options.add(OP)。 // jQueryの$(" #選択1 " ).append(" <オプション値= ' " + JSON [i]の.VALUE + " '> " + JSON [I] .nameの+ " </オプション> " ); } })。} </ スクリプト> </ ヘッド> < ボディ> < フォームID = "Form1の" にrunat = "サーバー" > <
選択 IDを = "・セレクト" > </ 選択> < 入力タイプ= "ボタン" 値= "負荷" のonclick = "loadValue();" /> </ DIV > </ 構成> </ ボディ> </ HTML >
背景:
JsonTransHander.ashxという名前の一般的なハンドラを作成します。これは次のように読み取ります。
使用して
システムを。
使用して System.Collections.Genericを。
使用して System.Linqのを。
使用して のSystem.Webを。
使用して System.Web.Servicesを。
使用して System.Web.Script.Serializationを。
名前空間 auotoCompleteText
{
/// <要約> /// $ codebehindclassname $的摘要说明/// </要約> [Webサービス(ネームスペース= " http://tempuri.org/ " )] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1 )] パブリッククラスJsonTransHander:IHTTPハンドラ{ 公共ボイド
processRequest(のHttpContextコンテキスト)
{
context.Response.ContentType = " text / plainの" ; // 初始化数据一覧< ピープル> 人物データベース= 新しいリスト< ピープル> (); 以下のために(int型私= 0 ;私は< 10 ; I ++ ){ 人人= 新しい人々 (){ID = I、名前= " 名前"が+ I};
peopleList.Add(人)。
}
// 引用System.Web.Extensions .net3.5框架 JavaScriptSerializerシリアライザ= 新しいJavaScriptSerializer()。// 转换VAR jsonData = serializer.Serialize(人物データベース)。// 返回context.Response.Write(jsonData)。} パブリックブールIsReusable { 取得{ 戻ります偽。} } } パブリッククラス人{ パブリック文字列名前{ セット。取得; }
公共 int型のID { セット。取得; } } }
使用して System.Collections.Genericを。
使用して System.Linqのを。
使用して のSystem.Webを。
使用して System.Web.Servicesを。
使用して System.Web.Script.Serializationを。
名前空間 auotoCompleteText
{
/// <要約> /// $ codebehindclassname $的摘要说明/// </要約> [Webサービス(ネームスペース= " http://tempuri.org/ " )] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1 )] パブリッククラスJsonTransHander:IHTTPハンドラ{ 公共ボイド
processRequest(のHttpContextコンテキスト)
{
context.Response.ContentType = " text / plainの" ; // 初始化数据一覧< ピープル> 人物データベース= 新しいリスト< ピープル> (); 以下のために(int型私= 0 ;私は< 10 ; I ++ ){ 人人= 新しい人々 (){ID = I、名前= " 名前"が+ I};
peopleList.Add(人)。
}
// 引用System.Web.Extensions .net3.5框架 JavaScriptSerializerシリアライザ= 新しいJavaScriptSerializer()。// 转换VAR jsonData = serializer.Serialize(人物データベース)。// 返回context.Response.Write(jsonData)。} パブリックブールIsReusable { 取得{ 戻ります偽。} } } パブリッククラス人{ パブリック文字列名前{ セット。取得; }
公共 int型のID { セット。取得; } } }
効果:空のドロップダウンボックス、バックグラウンドデータをバインド、ドロップダウンボックスの隣のボタンをクリックします。
ます。https://www.cnblogs.com/xinjian/archive/2010/11/23/1885225.htmlで再現