0

基本的に、ページにいくつかのタブがあり、JavaScript を使用する MVC サイトがあります。

次に、この URL を読み取り、AJAX を使用して次のように適切なタブを選択する JavaScript メソッドがあります。

function onbodyLoad(URL) {

    if (URL.indexOf("Login/Register") != -1) {
        var index = 4;
        var $tabs = $('#tabs').tabs();
        $tabs.tabs('url', index, "/Login/RegistrationConfirmation");
        $tabs.tabs('select', index + 1); 
        $tabs.tabs('select', index); 
    }
}

現在、コントローラーの httppost メソッドで null のいくつかのプロパティをチェックして、ビューを返しています。動作しますが、スタイルがないため、上記の方法で行う必要がありました。

エラーがなく、URL「エラー」にnullの場合は、ページURL「成功」に書き込むことができますか。上記の関数では、URL を確認して適切なタブに転送できます。

または、パラメーターを指定して actionresult メソッドを作成し、それを返すこともできます。しかし、わからない...誰でもいくつかの光を当てることができます

それが理にかなっていることを願っています。


更新: コントローラーで、レジスタービューにパラメーターを追加するためにこれを行いました:

RouteValueDictionary rvd = new RouteValueDictionary();
rvd.Add("ParamID", "1");
return RedirectToAction("Register", "Login", rvd);

そしてJquery私はURLを読んでそのタブを選択するためにこれをしました:

if (URL.indexOf("Login/Register?ParamID=1") != -1) {
    var index = 2;
    var $tabs = $('#tabs').tabs(); 
    $tabs.tabs('url', index, "/Login/Register");
    $tabs.tabs('select', index + 1); 
    $tabs.tabs('select', index); 
}

パラメータ付きの URL を確認できますが、jquery が機能していないようです。見つからないというだけです。助けてください?

4

1 に答える 1

0

API を見ると、タブの初期化のための ajaxOptions-option を見つけることができるかもしれません。

$tabs.tabs({ ajaxOptions: { async: false } });

$tabs.tabs({ ajaxOptions: { async: false } });

そしてより適切:

// Definition of the tabs variable, note in particular the argument 'ajaxOptions'
var $tabs = $('#example').tabs({
    ajaxOptions: {
        success: function() {
            $tabs.tabs('select', getIndex() + 1); 
            $tabs.tabs('select', getIndex() );
        },
        error: function() {}
    }
});

function getIndex() {
    return 4;
}

function onbodyLoad(URL) {

    if (URL.indexOf("Login/Register") != -1) {

        var $tabs = $('#tabs').tabs();
        $tabs.tabs('url', index, "/Login/RegistrationConfirmation");
    }
}

それは役に立ちますか..?

PS私はこれをテストしませんでした。

于 2012-10-05T08:29:53.830 に答える