繁体   English   中英

C#MVC4-指向控制器的直接URL

[英]C# mvc4 - direct URL to controller

我有一个直接指向控制器中函数的外部URL,但是当我第一次单击该函数时,我没有到达页面,而是进入主页。 但是,在第二次单击(以及随后的单击)上,我可以到达所需的页面。

我应该在功能或控制器中添加一些内容以便在第一次单击时达到它吗? 还是不是我的会话没有第一次初始化? 我尝试调试,但第一次单击却未达到所需的功能。

这是指向控制器的外部URL: http:// localhost / careers / postings / index?pvnID = HC-1505-000533

这是控制器的方法:

public ActionResult Index(string pvnID)
    {

        //if pvnid matches legacy PVN application pater -> refirect to legacy application
        Regex pattern = new Regex("[A-Z]{3}-\\d{3,4}");
        Match match = pattern.Match(pvnID);
        if (match.Success)
        {
         //redirect to legacy application
        }
        else 
        {
            model.Job = jobPostingMgr.GetJobPosting(pvnID);

            string maxSalary = "";
            string minSalary = "";

            if(model.Job.MaximumSalary.ToString() != "0.00"){
                maxSalary = String.Format("{0:C}", model.Job.MaximumSalary);
            }
            if (model.Job.MinimumSalary.ToString() != "0.00")
            {
                minSalary = String.Format("{0:C}", model.Job.MinimumSalary);
            }

            if (maxSalary != "" && minSalary != "")
            {
                ViewBag.SalaryRange = minSalary + " - " + maxSalary;
            }
            else if (maxSalary == "" && minSalary != "")
            {
                ViewBag.SalaryRange = minSalary;
            }
            else if (maxSalary != "" && minSalary == "")
            {
                ViewBag.SalaryRange = maxSalary;
            }


            //data processing
            Session["category"] = model.Job.Category;
            model.Job.Category = miscInfoMgr.GetAJobCategory(model.Job.Category).Description;
            model.Job.CollegeCode = PvnHelper.GetCollege(model.Job.CollegeCode).Description;
            Session["pvnid"] = pvnID;


            //Change to lower case 
            model.Job.DisplayJobTitle = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(model.Job.DisplayJobTitle.ToLower());
            model.Job.Department = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(model.Job.Department.ToLower());
            model.Job.CollegeCode = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(model.Job.CollegeCode.ToLower());
        }
        return View(model);
    }

在此先感谢您的帮助。

您可能已经忘记在Html.ActionLink()参数中指定控制器的名称。 试试Html.ActionLink(“ actionname”,“ controllername”);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM