2017-12-14 16 views
0

C#を使用してSQLからデータを取り込んだドロップダウンボックスがあります。ユーザーがドロップダウンボックスで項目を選択すると、選択した項目に基づいてSQLクエリーを実行し、SQLからの結果セットを含む他の入力フィールドを入力する必要があります。ASP.NETコアv2とRazorページを使用したドロップダウンのonChangeイベントからのSQLデータの取得

顧客のリストと考えると、顧客を選択するときに、入力フィールドには、住所、市などのデフォルト値が入力されます。後でユーザーが変更することができます。

私の最初の考えは、dropdown onchangeイベントでajaxコールを使用することでしたが、どこからMSSQLデータを取得するべきか分かりませんでしたか? URLからSQLからデータを取得することは可能ですか?またはC#でonchangeイベントにドロップダウンをバインドし、C#からスクリプトブロックにクエリデータを追加することはできますか?

これを解決するには、どのような方法が適していますか?私は、ASP.NETのコアを使用しています

おかげ

トーマス

答えて

1

あなたは、AJAXを使用する必要がありますenter image description here

Razorpages

とv2の。 このようなAJAX呼び出しを作成します。関数を作成

var dataToPost = {customer: "custumerValue", additionalData: "something"}; 
$.ajax("{path to controller}/GetData", { 
    method: "POST", 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    data: JSON.stringify(dataToPost) 
}).done(function (data) { 
    //set properties 
    console.log(data.value1); 
    console.log(data.value2); 
}).fail(function() { 
    //error 
}); 

とあなたのコントローラ内を:

public virtual JsonNetResult GetData(string customer, string additionalData) 
{ 
    // Get data 

    return new JsonNetResult() 
    { 
     Data = new 
     { 
      value1 = "something", 
      value2 = "something" 
     } 
    }; 
} 

あなたのコントローラがCustomerController命名された場合にのみ、すべきで、あなたのコントローラに正しいパスを指定してください顧客をURLに挿入します。また、関数とパラメータの名前は、ajax呼び出しで使用される名前と一致する必要があります。

これが役に立ちます。

関連する問題