0

asp.net と javascript の投稿と取得について質問があります。データベースに接続された asp.net のドロップダウン リストから値を取得する方法は知っていますが、asp.net と asp.net に物を送り返す方法は知っています。 ..

<div id="map" style="width: 500px; height: 500px">
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:RFIDConnectionString %>" 
            SelectCommand="SELECT neighborhood_name FROM [Neighborhood]"></asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
            ConnectionString="<%$ ConnectionStrings:RFIDConnectionString %>" 
            SelectCommand="SELECT street_name FROM [Street]"></asp:SqlDataSource>
         <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
            ConnectionString="<%$ ConnectionStrings:RFIDConnectionString %>" 
            SelectCommand="select * from Street,neighborhood where Street_status='high' and street.neighborhood_id=neighborhood.neighborhood_id"></asp:SqlDataSource>
         <asp:SqlDataSource ID="SqlDataSource4" runat="server" 
            ConnectionString="<%$ ConnectionStrings:RFIDConnectionString %>" 
            SelectCommand="SELECT neighborhood_name FROM [Neighborhood]"></asp:SqlDataSource>

                </div>
4

2 に答える 2

0

AJAX リクエストを使用することをお勧めします。javascript からの asp.net 関数の呼び出しはブラウザーにも依存します。IE はActiveXObjectMozilla ファミリーが使用するのに対しXMLHttpRequest、クロスブラウザー互換コードを作成する必要があるため、クロスブラウザー互換コードを作成する手間を省く jquery を使用することをお勧めします。あなたの質問、これが私が使用するものです:

Javascript:

asp.net にデータを送信します。

function CallAjax(actionUrl, postData, callbackFunc) {
    xmlHttp = GetXmlHttpObject(callbackFunc);
    xmlHttp.open("POST", actionUrl, true);
    xmlHttp.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    xmlHttp.send(postData);

}

function GetXmlHttpObject(handler) {
    var objXmlHttp = null;
    if (navigator.userAgent.indexOf("MSIE") >= 0) {
        var strName = "Msxml2.XMLHTTP";
        if (navigator.appVersion.indexOf("MSIE 5.5") >= 0) {
            strName = "Microsoft.XMLHTTP";
        }
        try {
            objXmlHttp = new ActiveXObject(strName);
            objXmlHttp.onreadystatechange = handler;
            return objXmlHttp;
        }
        catch (e) {
            alert("Error. Scripting for ActiveX might be disabled");
            return;
        }
    }
    if (navigator.userAgent.indexOf("Mozilla") >= 0) {
        objXmlHttp = new XMLHttpRequest();
        objXmlHttp.onload = handler;
        objXmlHttp.onerror = handler;
        return objXmlHttp;
    }
} 

JS 関数の使用例:

var catCode = "001";
// GetSubcategories is the name of asp.net WebMethod present at Default.aspx page
// SubCategoryResponse is the name of JS callback function that will receive data from server
CallAjax("Default.aspx/GetSubcategories", catCode, SubCategoryResponse);

asp.net からデータを受信します。

function SubCategoryResponse() {
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        var resp = xmlHttp.responseText;
    }
}

ASP.NET:

Imports System.Web.Services
Imports System.Web.Script.Serialization

<WebMethod()> _
Public Shared Function GetSubcategories(ByVal catCode As String) As String
    Dim json As New JavaScriptSerializer()
    // Get subcategories into subcateg list
    Dim subcateg As IList(Of String())

    Return json.Serialize(subcateg)
End Function

マークアップに登録System.Web.Extensionsします。

マークアップ - Default.aspx:

<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %>

Web.Config:

AJAX 要求/応答を成功させるには、web.config で正しい httpHandlers と httpModules を設定する必要がある場合があります。ASP.NET AJAX の構成を参照してください。

于 2012-04-12T17:40:09.953 に答える
0

あなたの質問を正しく理解している場合、あなたが話していることは、SQLデータソースをドロップダウンリストコントロールにバインドするデータです。

編集 - あなたの質問は、javascript から asp.net ポストバックを行う方法です。

asp.net(asp.net ajaxではない)の場合、呼び出す必要があります

__doPostBack((eventTarget, eventArgument);

eventTarget は、ポストバックを実行しているコントロールの名前であり、eventArgument は追加情報です。コントロールが何を行うべきかなどに応じて、これを入力する必要がある場合があります。

于 2012-04-12T13:54:18.537 に答える