我们可以将下面的代码缩短。感谢
HttpCookie myCookie = new HttpCookie("UserID", "JLovus");
myCookie.Expires = DateTime.Now.AddMinutes(30);
Response.Cookies.Add(myCookie);
答案 0 :(得分:2)
这真的不是很多代码。不过,如果你不得不多次这样做,我可以想象它会变得烦人。在这种情况下,您可以使用函数为您执行此操作。例如:
public static class ResponseExtensions
{
public static void AddCookie(this HttpResponse response, string key, string value,
int minutesToLive = 30)
{
var myCookie = new HttpCookie(key, value);
myCookie.Expires = DateTime.Now.AddMinutes(minutesToLive);
response.Cookies.Add(myCookie);
}
}
然后您的代码变为:
Response.AddCookie("UserID", "JLovus");
答案 1 :(得分:0)
Response.Cookies.Add(new HttpCookie("UserID", "JLovus")
{
Expires = DateTime.Now.AddMinutes(30)
});
答案 2 :(得分:0)
Response.Cookies.Add(new HttpCookie("UserID", "JLovus")
{
Expires = DateTime.Now.AddMinutes(30)
});
答案 3 :(得分:0)
你可以用1个不太容易理解的行来做,如下所示:
Response.Cookies.Add(new HttpCookie("UserID", "JLovus") {Expires = DateTime.Now.AddMinutes(30)});
仅仅因为你可以在更少的代码行中做某事并不意味着你应该这样做。您的原始代码简洁易读。我(以及其他几个人)发布的内容很难一目了然。
答案 4 :(得分:0)
是的,但重点是什么?
Response.Cookies.Add(new HttpCookie("UserID", "JLovus")
{Expires = DateTime.Now.AddMinutes(30)});
答案 5 :(得分:0)
您可以将其放在一个函数中:
public HttpCookie AddHttpCookie(String key, String value, int timeOut)
{
HttpCookie httpCookie = new HttpCookie(key, value);
httpCookie.Expires = DateTime.Now.AddMinutes(timeOut);
Response.Cookies.Add(httpCookie);
return httpCookie;
}
并以这种方式称呼它:
HttpCookie myCookie = AddHttpCookie("UserID", "JLovus", 30);
或者只是:
AddHttpCookie("UserID", "JLovus", 30);
答案 6 :(得分:0)
如果您经常使用此代码,则应考虑将其放入函数中:
protected void CreateUserIDCookie(string userID, int timeUntilExpires)
{
HttpCookie myCookie = new HttpCookie("UserID", userID);
myCookie.Expires = DateTime.Now.AddMinutes(timeUntilExpires);
Response.Cookies.Add(myCookie);
}
然后在您的代码中执行此操作:
this.CreateUserIDCookie("JLovus", 30);
正如其他人所建议的那样,你可以将它减少到一行,但正如他们所说的那样,它的可读性较差,而且我宁愿有三行可读代码,而不是一行更难阅读。代码已经足够难以阅读。