1
私は、選択した部門を格納するためにクッキーを設定しようとしています。クッキーは、小規模なフォームで設定されています。これはAJAXを使用して転記されます。ASP.NET - なぜ私のクッキーは保持されませんか?
<AcceptVerbs(HttpVerbs.Post)> _
Function ChangeDepartment(ByVal FormValues As FormCollection) As ActionResult
If Response.Cookies("department") IsNot Nothing Then
Response.Cookies("department").Value = FormValues("department")
Else
Dim c As New HttpCookie("department")
c.Value = FormValues("department")
c.Expires = Now.AddDays(7)
Response.Cookies.Add(c)
End If
Return Json(New With {.newDepartment = Response.Cookies("department").Value})
End Function
.newDepartment
変数が正しい値を正しく返されます。
は、これは私がクッキーを保存する方法です。
これは私がクッキーを取得し、選択-ドロップダウンを構築する方法である:選択-ドロップダウンが戻っDefault
にいっているので、
<% Ajax.BeginRouteForm("ChangeDepartment", New AjaxOptions With {.LoadingElementId = "loading", .HttpMethod = "post", .OnSuccess = "function(request) {ajaxMessage('Department change', 'Department changed to: ' + request.get_response().get_object().newDepartment);}"})%>
<select name="department">
<option>Default</option>
<option<%If Request.Cookies("department") Isnot Nothing andAlso Request.Cookies("department").Value = "Supervisor" Then Response.Write (" selected=""selected""") %>>Supervisor</option>
<option<%If Request.Cookies("department") Isnot Nothing andAlso Request.Cookies("department").Value = "Purchasing" Then Response.Write (" selected=""selected""") %>>Purchasing</option>
<option<%If Request.Cookies("department") Isnot Nothing andAlso Request.Cookies("department").Value = "Engineering" Then Response.Write (" selected=""selected""") %>>Engineering</option>
</select>
<input type="submit" value="Change department" />
<% Html.EndForm%>
クッキーは、保存されていません。私は何か間違っているのですか?
これは私にいくつかの情報を与えました。それは私が値を得ていたクッキーの値をクリアしていたことが分かります。しかし、何とか期限切れ価値はいつもセッションの終わりです。 Response.Cookies( "department")。expires = Now.AddDays(7)は通過しないようですか? – Ropstah