, , , ASP.NET MVC.
, , cookie .
( VB.NET)
:
Public Property DownloadToken As String
cookie :
If Response.Cookies("MyFileDownloadToken") Is Nothing Then
Dim cookie As New HttpCookie("MyFileDownloadToken", ParameterModel.DownloadToken)
Response.Cookies.Add(cookie)
Else
Response.Cookies("MyFileDownloadToken").Value = ParameterModel.DownloadToken
End If
:
@Html.HiddenFor(Function(m) m.DownloadToken)
JavaScript sumbit jQuery Cookie, cookie.
var fileDownloadChecker;
$(function ()
{
$("#MyForm").submit(function ()
{
$(".validation-summary-errors").empty();
PreventResubmission();
});
$("#submitButton").prop("disabled", false);
}
function PreventResubmission()
{
var token = new Date().getTime();
$("#DownloadToken").val(token);
$("#submitButton").prop("disabled", true);
$("#submitButton").val("Running...");
fileDownloadChecker = window.setInterval(function ()
{
var cookieValue = $.cookie("MyFileDownloadToken");
if (cookieValue == token)
{
EnableFormSubmission();
}
}, 1000);
}
function EnableFormSubmission()
{
window.clearInterval(fileDownloadChecker);
fileDownloadChecker = 0;
$("#DownloadToken").val("");
$.cookie("MyFileDownloadToken", null, { path: "/" });
$("#submitButton").prop("disabled", false);
$("#submitButton").val("Run");
}
:
1) HttpCookie jQuery Cookie . HttpCookie root ('/'), jQuery ( ) cookie . cookie, . , , cookie. ( , , , cookie )
2) , , , - , "" .
3) , , , . , ".validation-summary-errors".