我使用最新的MVC,並使用屬性路由。防止用戶訪問可通過代碼訪問的動作
當用戶提交聯繫表單時,它會重定向到「謝謝您提交信息」視圖,路線爲foo.com/success
。
如何配置它以便我的代碼可以像往常一樣重定向到success
操作,但用戶無法直接導航到它?
我使用最新的MVC,並使用屬性路由。防止用戶訪問可通過代碼訪問的動作
當用戶提交聯繫表單時,它會重定向到「謝謝您提交信息」視圖,路線爲foo.com/success
。
如何配置它以便我的代碼可以像往常一樣重定向到success
操作,但用戶無法直接導航到它?
如果您在頁面中沒有鏈接,用戶將無法直接訪問它。
否則,如果用戶無法訪問它,則無法通過代碼訪問它。
[HttpGet]
public ActionResult MyAction(){
//...
return RedirectToAction("Success");
}
[HttpGet]
public ActionResult Success(){
ViewBag.Result = "thank you for submitting your info";
return View();
}
如果你想阻止用戶使用URL來訪問你的行動行動絕不能有[HTTPGET]或者必須設置AuthorizeAttribute您action.for這種使用Ajax請求來調用你的動作併發送成功消息客戶端與Json
//Client Side
$.ajax({
type: "POST",
url: 'Action URL',
contentType: "application/json; charset=utf-8",
data: {id :1},
dataType: "json",
success: function(result) {
alert(result.message);
}
});
[HttpPost]
public ActionResult MyAction(string id){
return Json(new {message="Your Message"});
}
「如果用戶無法訪問它,你不能通過代碼訪問它」 - 是這就是我害怕...不是我想要做的,但我想答案是,「無法完成」。所以你的答案是最接近我需要的。 – 2014-10-08 13:49:25