弹出窗口关闭时重新加载页面的最佳做法

时间:2016-06-15 09:03:42

标签: asp.net-mvc

手头的任务:
创建表单后,用户会获得一个页面,其中 - 根据表单的答案 - 会显示一些链接。这些链接提供了一个弹出窗口,用于创建与问题相关的数据表。在他们面前还有一个红叉表示它没有完成。

问题:
如果创建数据表(使用创建按钮关闭弹出窗口),相关问题的红叉会变为绿色勾选并删除链接,我该如何实现?

环境:
ASP.NET MVC

由于问题在这里被低估了,所以发布这个问题的原因是:我对如何实现它没有丝毫的线索。恕我直言,而不是downvoting,答案会更有帮助。感谢。

1 个答案:

答案 0 :(得分:0)

控制器:

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            List<Plan> plans = new List<Plan>();
            if (Session["PlanList"] == null)
            {
                plans = GetPlans();
                Session["PlanList"] = plans;
            }
            else
            {
                plans = Session["PlanList"] as List<Plan>;
            }

            return View(plans);
        }

        public ActionResult PopupSave()
        {
            return PartialView("_PopupSave");
        }

        [HttpPost]
        public ActionResult PopupSave(int PlanId)
        {
            List<Plan> plans = Session["PlanList"] as List<Plan>;

            plans.Where(p => p.PlanId == PlanId).FirstOrDefault().Created = true;

            return RedirectToAction("Index");
        }

        public List<Plan> GetPlans()
        {
            List<Plan> plans = new List<Plan>();

            for (int i = 1; i <= 5; i++)
            {
                plans.Add(new Plan()
                {
                    PlanId = i,
                    PlanName = "Plan nr " + i,
                    Created = false
                });
            }

            return plans;
        }

    }
    public class Plan
    {
        public int PlanId { get; set; }
        public string PlanName { get; set; }
        public bool Created { get; set; }
    }

视图本身很简单,就像弹出控件一样。