2012-11-06 45 views
0

我有我的MVC應用程序的腳註上的聯繫我們鏈接。提交頁面到上一頁visited

在調用頁面包含表單提交反饋..

時有效的形式將提交我想重定向到從該聯繫我們鏈接被稱爲頁面。

如何保持該隱私鏈接。我無法使用歷史記錄,因爲它包含驗證,如果表單失敗,它會顯示錯誤,並且在提交有效表單之後,私有歷史記錄就會與我們聯繫。

我應該使用會話來存儲私人表單url還是有任何其他方式來做到這一點?

+0

也許你可以使用查詢字符串,比如'?Reidrecturl =「/ xxx.aspx」' –

回答

1

查看ASP.NET MVC Internet應用程序模板中的Forms Authentication集成,它完全處理這種情況。

你可能想要做的是有你的「聯繫我們」鏈接指向什麼: -

/ContactUs?returnUrl={the current URL}

可以構建像: -

@Html.ActionLink(
    "Contact us", "Contact", "Home", new { returnUrl = Request.Url.PathAndQuery }) 

然後,您可以捕獲在動作方法參數服務器端。即使您在此期間出現服務器端驗證失敗,該參數仍可以在POST表單中生存。

[HttpPost] 
public ActionResult ContactUs(ContactUsModel model, string returnUrl) 
{ 
    if (ModelStat.IsValid) 
    { 
    // Do whatever you need to do with the ContactUsModel 

    if (Url.IsLocalUrl(returnUrl) 
    { 
     return Redirect(returnUrl); 
    } 
    else 
    { 
     return RedirectToAction("Index", "Home"); 
    } 
    } 

    return View(model); 
} 
+0

我得到空值RETURNURL但它會顯示在瀏覽器中。我正在使用 user

+0

您可以在上面的問題中發佈您的視圖和控制器代碼嗎? –

+0

謝謝,我的問題已解決 – user