簡體   English   中英

使用Asp.net MVC3的淘汰賽向導

[英]Knockout wizard with Asp.net MVC3

我有一個像這樣的向導: http : //jsfiddle.net/rniemeyer/FyuSD/當我單擊按鈕時,當前步驟的下一個數據將發送到服務器中的服務器(發送數據的功能在此鏈接中未顯示)。采取這樣的行動:

控制器:

    [HttpPost]
    public ActionResult SocialNetworkChoice(string[] selectedSocialNetwork)
    {
        if (selectedProduct!= null)
        {
          // check if the user got a social account linked in for 
          // all the selected networks and redirect to the link account page
          ....
            if (q.Count() > 0)
            {
                return RedirectToAction("LinkAccount", "Account",
                         new LinkAccountModel() { ProviderName = q.First() });
            }

            else
            {....}
         }
    }

昏死:

    <script id="socNetchoiceTmpl" type="text/html">         
       <ul data-bind="foreach: socialNetworksList, visible:
                  socialNetworksList().length > 0">
          <li>
             <input type="checkbox" data-bind="value: $data, checked:  
                 $parent.selectedSocialNetworks" /><span data-bind="text: $data"/>
          </li>
       </ul>
    </script>


   function SocialNetChoicesViewModel() {
    var self = this;
    self.socialNetworksList = ko.observableArray([]);
    self.selectedSocialNetworks = ko.observableArray([]);

     self.save = function () {
        $.ajax("/Home/SocialNetworkChoice", {
            data: ko.toJSON({ selectedSocialNetworks: self.selectedSocialNetworks }),
            type: "post", contentType: "application/json",
            success: function (result) {
                if (result.Success) {
                    //alert(result.Message);
                }
                else {
                    alert(result.Message);
                }
            }
        });
     };
     // Load initial state from server, convert it to Task instances,
     //  then populate self.tasks
     $.getJSON("/Home/SocialNetworkChoice", function (allData) {
        var mappedItems = $.map(allData, function (item) { return item });
        self.socialNetworksList(mappedItems);
    });
   };

在第一步中,我為兩個社交網絡提供了兩個復選框,當用戶檢查ckeckbox數據時,它會將其發送到動作SocialNetworkChoice。 如果(q.Count()> 0)不顯示操作“ LinkAccount”的視圖,向導將轉到第二步

如果(q.Count()> 0)重定向到LinkAccount(View),否則如何解決此問題,轉到第二步

對不起我的英語不好,

謝謝,

您僅重定向ajax調用,而不重定向可見頁面。

一種解決方案是檢測重定向的ajax調用並相應地以編程方式重定向頁面。 例如從javascript設置window.location。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM