.NET中一般處理程式(ashx)在Ajax中的使用--下拉列表的動態級連
NET框架中有一個檔案型別是一般處理檔案(.ashx)。可以在ajax開發中作為伺服器端使用。特別是當在請求停留在一個頁面的時候,下面舉個例子--實現html下拉列表的級連更新。
(1)ddlInnerJoin.aspx程式碼:
<head runat="server">
<title>無標題頁</title>
<script type ="text/javascript" src="ddlInnerJoin.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="major" onchange ="startRequest();">
<option value ="1">軟體技術</option>
<option value ="2" >網路技術</option>
</select>
<select id="class">
</select>
</div>
</form>
</body>
(2)ddlInnerJoin.js程式碼:
var xmlHttp;
var requesttype="";
function createXmlHttp()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//mozilla瀏覽器
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE舊版本
}
catch(e)
{
}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e)
{
}
if(!xmlHttp)
{
window.alert("不能建立XMLHTTPREQUEST物件!");
return false;
}
}
}
function startRequest()
{
createXmlHttp();
//使用GET方式
var url="ddlInnerJoin.ashx?major="+document.getElementById("major").options.value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=bindclass;
xmlHttp.send(null);
}
function bindclass()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var selclass=document.getElementById("class");
//如果被動(被激發的)下拉有內容,要首先清空
while(selclass.hasChildNodes())
{
var node=selclass.children(0)
selclass.removeChild(node);
}
//獲取響應內容
var result=xmlHttp.responseText;
//分割以方便繫結
var optiontext=result.split(' ');
//將分割後的內容繫結到被動下拉列表
for(var i=0;i<optiontext.length;i++)
{
var optionnode=document.createElement("OPTION");
optionnode.text=optiontext[i];
selclass.add(optionnode);
}
}
}
}
(3)ddlInnerJoin.ashx程式碼:
<%@ WebHandler Language="C#" Class="ddlInnerJoin" %>
using System;
using System.Web;
//由於要訪問資料庫,引入名稱空間
using System.Data.SqlClient;
using System.Data;
public class ddlInnerJoin : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string majorid = context.Request.Params["major"].ToString().Trim();
string major = "";
//避免不識別漢字
if (majorid == "1")
{
major = "軟體技術";
}
else if (majorid == "2")
{
major = "網路技術";
}
//從資料庫提取資料
SqlConnection conn = new SqlConnection("server=.;database=Tuition;uid=sa;pwd=sa;");
SqlDataAdapter da = new SqlDataAdapter("select classname from dictblclass where classname like '" + major + "%'", conn);
DataSet ds = new DataSet();
da.Fill(ds);
//定義響應文字的格式,以返回
string result = "";
foreach (DataRow row in ds.Tables[0].Rows)
{
result +=row[0].ToString().Trim() + " ";
}
context.Response.Write(result.Trim ());
//context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}
}
這樣就可以輕鬆實現級連更新了,特別是資料量大的時候效果更明顯。
相關推薦
.NET中一般處理程式(ashx)在Ajax中的使用--下拉列表的動態級連
NET框架中有一個檔案型別是一般處理檔案(.ashx)。可以在ajax開發中作為伺服器端使用。特別是當在請求停留在一個頁面的時候,下面舉個例子--實現html下拉列表的級連更新。 (1)ddlInnerJoin.aspx程式碼: <head runat="server"
.NET中一般處理程式(ashx)在Ajax中的使用
NET框架中有一個檔案型別是一般處理檔案(.ashx)。可以在ajax開發中作為伺服器端使用。特別是當在請求停留在一個頁面的時候,下面舉個例子--實現html下拉列表的級連更新。(1)ddlInnerJoin.aspx程式碼:<head runat="server"> <titl
Js中$.ajax呼叫一般處理程式(.ashx)
$.ajax({ type: "post", url: "/tools/ActApply.ashx",
.net Ajax與後臺一般處理程式(ashx) 互動
本文主要實現無動態重新整理查詢後臺資料功能,主要用到ajax+ashx+sqlserver進行互動. 首先需要引用Jquery: <script language="javascript" type="text/javascript" src="../js/jquery.js"> h
ASP.NET -- 一般處理程式ashx
ASP.NET -- 一般處理程式ashx 如果在一個html頁面向伺服器端請求資料,可用ashx作為後臺頁面處理資料。ashx適合用作資料後臺處理,相當於WebForm中的aspx.cs檔案或aspx.vb檔案。 入門案例:html頁面向ashx頁面請求資料,ashx作為後臺頁
ASP.Net原理篇 之 一般處理程式(ashx)
在學習asp.net期間 老師反覆告訴我們 千萬不要做只會 “拖控制元件的”ASP.Net程式設計師!!!何為 只會 “拖控制元件的”ASP.Net程式設計師? 當初微軟推出ASP.Net的時候 那個時候VB、delphi等“拖控制元件”式的語言相當的火爆 微軟為了把這些程式設計師全部拉攏過來使用ASP.Ne
ashx一般處理程式接收ajax傳回的json字串,並寫入到資料庫
首先將json物件轉為json字串 var aToStr = JSON.stringify(graphicStr); //json轉字串 然後ajax 通過post請求 $.ajax({ type: 'post',
一般處理程式ashx的post請求
ashx可直接獲取HttpContext物件,雖然很靈活,但也導致操作有些許複雜,Content-Type和Request Body與mvc、webapi的不同。js則需要這樣寫 function btnSumit_click() { var da
Javascript與ASP.NET(一般處理程式)關於URL(get方式)傳遞中文亂碼問題的解決方案
一、首先,說一下我要實現的功能 根據老師ID、學年、學期,查詢該教師教授的課程資訊。 二、傳遞引數我遇到的問題: 我通過傳遞教師ID、學年和學期從資料庫查詢出該教師所教的課程資訊,展現在介面上,從資料庫我能查詢出資料,為什麼在介面不出資料呢,我斷點除錯,發現這
使用jQuery+ajax實現級下拉列表的級聯顯示
html部分程式碼為下拉列表新增onchange事件 <div class="form-group" style="margin-right: 0">
JAVA EE 專案常用知識 之AJAX技術實現select下拉列表聯動的兩種用法(讓你真正理解ajax)
ajax 下拉列表聯動的用法。 ajax的定義: AJAX 是一種用於建立快速動態網頁的技術。 通過在後臺與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。 ajax效果的一個例子: 區域為
AJAX筆記-實現城市下拉列表聯動框
學習一門新技術不外乎掌握四個點(what、how、where、why)! 一、什麼是AJAX?(what) 首先要了解什麼是同步?什麼是非同步的問題。 同步就是當瀏覽器提交請求到伺服器時,伺服器必須要響應瀏覽器,這樣瀏覽器才能繼續傳送請求。簡單來說就
ASP.NET的ASHX一般處理程式中Session為null且不能賦值
首先我解釋一下 ashx檔案以前我們做ajax處理的時候要用常用的web介面處理。 現在不用了,微軟有ashx檔案,這個檔案就是後臺一些處理檔案,用extjs的同學可能會更清楚一點。 如果在這個檔案中用session,會提示失效的,網上找了很久終於找到解決辦法如下 如圖所
ashx一般處理程式中的Session讀寫問題
在.aspx.cs頁中讀寫Session都是Session["***"]就可以獲取或者寫入。但是在一般處理程式也就是ashx頁面中,再這樣寫的話,就會為null, 解決辦法是先要新增名稱空間using System.Web.SessionState; 然後再繼承介面 其中
.NET中使用WebService,以及和一般處理程式、類庫的區別
首先我們來看一下如何建立Web Service 首先在解決方案中新建項,選擇ASP.NETWeb應用程式 然後選擇一個空的專案就可以,單擊確定 專案建完之後,在專案上右鍵-->新增-->新建項,選擇 Web服務(ASMX),新增 如果想要新增新的函式,必須在函式上方打上Web
一般處理程式中使用隱藏域來實現非Form表單元素上資料的改變
html程式碼: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <me
C# get與post請求,在一般處理程式handler中的應用Request.QueryString和Request.Form的用法,利用postman工具進行請求
一、Get 請求 1.引數存放在請求頭中header。(postman工具能夠證明,Body不可選) 2.字串大小有限制,需要小於2k位元組。 3. handler 接受引數Request.Q
一般處理程式中讀寫 cookie
if (context.Request.Cookies["MyCookie"]!= null) { string ids = context.Request.C
Linq中datetime的處理以及asp.net下拉列表控件的selectitem,text等的設置顯示處理
selected 接受 str 同時 類型 ddp cte 設置 varchar dhl:報錯:LINQ to Entities 不支持指定的類型成員“Date” Linq如: var v = from l in _dal.Share where l
ashx一般處理程式
http://192.168.2.112/AjaxQueryService.ashx/LOGINVALIDATE?username=1&passwordlogin=1 .NET裡面webform的字尾是aspx WCF和WebService的字尾是asmx 然後