2016-08-23 42 views
0

我有一個查詢是:如何從一個控件一個調用兩個不同的視圖。 20秒後,我希望我的視圖發生變化。即(在下面的代碼與景觀Show2反之亦然摘錄視圖顯示掉期)在一個控制器中交換兩個視圖

//public ActionResult Index() 
//{ 
// return View(dc.ptcl.ToList()); 
//} 

public ActionResult Create() 
{ 
    return View(); 
} 

public ActionResult Show() 
{ 
    Query q = new Query(); 
    DBConnection.Open(); 
    string myQuery = q.getQuery(); 
    OdbcCommand cmd = DBConnection.CreateCommand(); 
    cmd.CommandText = myQuery; 
    OdbcDataReader DbReader = cmd.ExecuteReader(); 
    DbReader.Read(); 
    int i = DbReader.FieldCount; 

// string dummyResult = DbReader["LoggedInAgents"].ToString(); 
    // String fName = DbReader.GetName(1); 
    String fName = DbReader.GetString(2); 

    // ViewBag.Name = dummyResult; 
    ViewBag.City = fName; 
    ViewBag.Age = ViewBag.Age; 
    ViewBag.Time = DateTime.Now.ToString("h:mm:ss tt"); 
    ViewBag.viewName = 0; 
    DbReader.Close(); 
    cmd.Dispose(); 
    DBConnection.Close(); 
    Response.AddHeader("Refresh", "5"); 
    //int turnValue = 0; 
    //if (turnValue == 0) 
    //{ 
    // turnValue = 1; 
    // return RedirectToAction("Show2", "Driver"); 

    //} 

    // System.Threading.Thread.Sleep(5000); 
     return View(); 

} 



public ActionResult Show2() 
{ 

    ViewBag.loggedInAgents = "Lahore"; 

    ViewBag.onCalls = "Lahore"; 

    ViewBag.agentsInReady = "Lahore"; 

    ViewBag.agentsInNotReady = "Lahore"; 

    ViewBag.agentsInWrapUp = "Lahore"; 

    ViewBag.reservedAgents = "Lahore"; 

    ViewBag.callsOffered = "Lahore"; 

    ViewBag.callsAnswered = "Lahore"; 

    ViewBag.callsAbandoned = "Lahore"; 

    ViewBag.callsInQueue = "Lahore"; 

    ViewBag.longestTalkDuration = "Lahore"; 

    ViewBag.abandoned = "Lahore"; 

    ViewBag.serviceLevel = "Lahore"; 

    ViewBag.maxTimeInQueue = DateTime.Now.ToString("h:mm:ss tt"); 
    return View(); 
} 




// POST: /Service/Create 
//[HttpPost] 
//[ValidateAntiForgeryToken] 
//public ActionResult Create([Bind(Include = "id,CustomerName,Age")] PtclData service) 
//{ 
// if (ModelState.IsValid) 
// { 

//   dc.ptcl.Add(service); 
//   dc.SaveChanges(); 

// } 
// return RedirectToAction("Index"); 
//} 
+0

爲什麼不默認顯示view1,並在JavaScript中使用'setInterval'在20秒後調用視圖2? –

+0

我目前使用view1作爲默認,現在如果我打電話view2。那麼我將如何返回到view1。其次爲什麼我不能在控制器中定義Delaytime(e.e20秒)。 –

+0

創建兩個定時器 - 一個在view1上將用戶發送到view2,另一個在view2上將用戶發送到view1.You can not do it in controller,because it's not a windows app –

回答

0

添加該腳本在視圖的頂部,並與您的控制器的名稱取代「家」:

<script type="text/javascript"> 
    setInterval(function() 
    { 
     window.location = "@Url.Action("Show2","Home")" 
    }, 20000); 
</script> 
相關問題