2016-03-30 6 views
-1

Javascriptを初めて使用しています。私は次のシナリオで助けが必要です:JavascriptでAjaxを使用して別のビューにリダイレクト

私は私のビューで2つのドロップダウンとAnchor(a)要素を持っています。このアンカー要素をクリックすると、別のビュー(基本的に別のアクション関数を呼び出す必要があります)にリダイレクトしたいのですが、これらの2つのドロップダウンで選択されている現在の値を渡す必要があります。要するに、別のアクション関数を呼び出し、ドロップダウンで選択された2つの現在の値を渡す必要があります。私は、次のAjaxコードを書かれている

が、しかし、それは常にエラー部分に起こっている:

$.ajax({ 
    type: 'GET', 
    url: Url.Action("ActionMethod", "MyController"), 
    data: { 
     param1: DD1Value, 
     param2: DD2Value, 
     param3: xyz 
    }, 
    success: function (data) { 
     window.location.href = data.redirecturl; 
    }, 
    error: function() { 
     alert('error happened'); 
    } 
}); 

コントローラー:

[HttpGet] 
public ActionResult ActionMethod(DateTime param1, DateTime param2, string param3) 
{ 
//Do some work 
//Return View 
} 

編集: を私は、Ajaxの全体のポイントがあることを理解します同じページにとどまる私もwindow.location.hrefを使用しようとしました:

window.location.href = "/MyController/ActionMethod?param1=" + DD1Value+ "&param2=" + DD2Value+ "&param3=" + "xyz" 

しかし、これはルーティングエラーが発生しています。これに対応するためにRoute.configを変更することはできません。

+2

なぜ使用AJAXを? – madalinivascu

+0

@madalinivascu - どのようにリダイレクトすることができますか?申し訳ありませんが、私はJSの新人です –

+0

@NehalJainはリクエストを受け取ります – madalinivascu

答えて

0

あなたは、以下に示すAjax呼び出しを使用してBUコントローラにDropDownListの値を渡すことができます。このことができます

<script> 
    $(document).ready(function() { 

     $(".SelectedCustomer").change(function (event) { 
      $.ajax({ 
       url: '@Url.Action("ActionMethod", "MyController")', 
       data: { 
          param1: $('#DD1').val(), 
          param2: $('#DD2').val(), 
          param3: xyz 
          /* add other additional parameters */ }, 
       cache: false, 
       type: "POST", 
       dataType: "html", 
       success: function (data, textStatus, XMLHttpRequest) { 
        SetData(data); 
       }, 
       error: function (data) { onError(data); } 
      }); 
     }); 

    }); 

</script> 

希望...あなたは笑リダイレクトしている

関連する問題