我想在提交给Cookie时以html格式保存复选框的状态,然后根据这些Cookie值启用/禁用我网站的其他部分。
我开始使用这样的代码:
HTML:
<form method="POST">
<fieldset>
<legend>(Not really) Opt In or Out</legend>
<input type="checkbox" id="selectTwitter" name="selectTwitter" >I'm Twitterpated!</input><br />
。 。 。
剃刀:
@ { var twitterSelected = false; 。 。
if (IsPost)
{
twitterSelected = Request["selectTwitter"].AsBool();
Response.Cookies["TwitterSelected"].Value = twitterSelected.ToString(); // Doesn't seem to accept saving boolean vals - saved as "false" or "true"?
Response.Cookies["TwitterSelected"].Expires = DateTime.Now.AddYears(1);
. . .
...但我仍然坚持如何根据可能存在的cookie值检查或取消选中复选框:
if (Request.Cookies["selectTwitter"] != null)
{
// what now?
}
答案 0 :(得分:3)
Cookie是字符串。您需要将cookie值转换为您想要的类型。布尔值保存为true
或false
,因为这是布尔值的字符串表示形式。
var selectTwitterCookie = Request.Cookies["selectTwitter"];
bool selectTwitter = false;
if(selectTwitterCookie != null)
{
bool.TryParse(selectTwitterCookie, out selectTwitter);
}
或者,您可以使用Convert.ToBoolean(selectTwitterCookie)
。