【发布时间】:2015-08-31 02:39:55
【问题描述】:
我有一个外部 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);
}
非常感谢您的帮助。
【问题讨论】:
-
你有什么安全措施。
-
请提供您的控制器的代码和该网址
-
我将代码添加到原线程中
标签: c# asp.net-mvc-4 url redirect