現在、ASP.Net アプリケーションにビュー モデルを設定してデータ バインディングを処理しています。このモデルは、複数のページで共有されているメイン ビューの Razor テンプレートとやり取りします。現在のビュー モデルにデータ バインディングを持つ Razor テンプレートに選択ボックスがありますが、同じ機能を得るには、このコードを複数のビュー モデルに複製する必要があり、ビュー モデルのこの部分だけを私のテンプレートと同じように抽象化されているのは、それが存在するビューの一部の抽象化です。理想的には、次のようなもの(疑似コード)が必要です:
class ViewModel1{
function doSomeAjaxStuff(option from select){
}
function doSomethingOnSelectorChange(option from select){
call doSomeAjaxStuff(option from select);
}
}
class SelectorViewModel{
function getSelectorValuesFromAjax(){
//this function will populate the selectors values from an ajax call
}
function sendMessageThatSelectorHasChanged(){
//this will send to the first viewmodel that the selector value has changed
}
}
私はMVVMアーキテクチャに少し慣れていないので、ノックアウトでこれを行う方法が正確にはわかりません。誰かが私を助けることができますか?