控制器在我的网站中返回空白视图

时间:2016-03-23 17:17:40

标签: c# asp.net-mvc visual-studio web ibm-cloud

public async Task<IActionResult> Contact1()
    {
        if (Convert.ToBoolean(HttpContext.Session.GetString("login")))
        {
            var pass = new ContactViewModel();
            var username = HttpContext.Session.GetString("username");              
           Program.readname(HttpContext.Session.GetString("username"));
            var names = HttpContext.Session.GetString("studentnames");

            var obj1 = JsonConvert.DeserializeObject<Program.Data>(names);
            if (Program.datecheck(username, DateTime.Today.Date))
            {
              try{
                var handler = new HttpClientHandler { Credentials = new NetworkCredential(user, password) };
                using (var client = Program.CreateHttpClient(handler, user, database3))
                {
                    string check = username + Convert.ToString(DateTime.Today.Date);
                    var readresponse = client.GetStringAsync(check).Result;
                    var obj2 = JsonConvert.DeserializeObject<Program.Data>(readresponse);
                  }
                   catch(Exception ee)
                    { ViewBag.m6 = ee.Message; ViewBag.attendance = "Attendace is not take yet";}
                    }  
                    pass.studentattend = obj2.studentattend1;
                }
            }
            else { ViewBag.attendance = "Attendace is not take yet"; }
            pass.studentname = obj1.studentname1;
            pass.studentrollno = obj1.studentrollno1;


            pass.date = DateTime.Today.Date;
            HttpContext.Session.SetInt32("classselect", 1);
            ViewData["Message"] = "Student Attendance of Class: " + HttpContext.Session.GetString("classname1");

            ViewBag.Login = HttpContext.Session.GetString("login");

            ViewBag.name = HttpContext.Session.GetString("name");
            ViewBag.classname1 = HttpContext.Session.GetString("classname1");
            ViewBag.classname2 = HttpContext.Session.GetString("classname2");
            ViewBag.classname3 = HttpContext.Session.GetString("classname3");
            ViewBag.classname4 = HttpContext.Session.GetString("classname4");
            return View("/Views/Home/Contact.cshtml", pass);
        }
        else
        {
            ViewData["Message"] = "Please Login First!!";
            return View("/Views/Home/Login.cshtml");
        }           
    }

上面的代码在我的本地ISS服务器上运行良好但是当我在bluemix上运行时,我得到空白页面。我试图找出问题并得出结论,如果控件没有输入该代码的if部分:

 if (Program.datecheck(username, DateTime.Today.Date))
        {
            var handler = new HttpClientHandler { Credentials = new NetworkCredential(user, password) };
            using (var client = Program.CreateHttpClient(handler, user, database3))
            {
                string check = username + Convert.ToString(DateTime.Today.Date);
                var readresponse = client.GetStringAsync(check).Result;
                var obj2 = JsonConvert.DeserializeObject<Program.Data>(readresponse);
                pass.studentattend = obj2.studentattend1;
            }
        }
        else { ViewBag.attendance = "Attendace is not take yet"; }

然后它会正常运行。我无法找到该查询中的错误。

0 个答案:

没有答案