您好,我使用CSS使用javascript更改了div颜色。我在转发器中有一个div。我如何永久保存更改。就像颜色是黄色一样。在甚至用户下线并再次上线后,黄色也会在div中显示。我该如何与数据库一起使用?我不太擅长JQuery代码。因为我需要你的帮助。谢谢。
我要保存的代码是:
$(document).ready(function () {
$(".divsec").on("click", function () {
$(this).css("background", "red");
});
});
我的CS代码是:
public static void InsertData(string Color)
{
OleDbConnection con = new OleDbConnection(Utility.GetConnection());
con.Open();
OleDbCommand cmd = new OleDbCommand("INSERT INTO Temsilci(color) values(@color)", con);
cmd.Parameters.Add("color", Color);
cmd.ExecuteNonQuery();
con.Close();
}
用于将颜色保存到数据库的JS代码是:
$(document).ready(function () {
var color = '';
var clicks = 0;
$(".divsec").on("click", function () {
if (clicks == 1) {
$(this).css("background", "red");
}
else if (clicks == 2) {
$(this).css("background", "green");
}
else if (clicks == 3) {
$(this).css("background", "yellow");
}
else {
clicks = 0;
$(this).css("background", "transparent");
}
++clicks;
var x = $(this).css('backgroundColor');
hexc(x);
alert(color);
$.ajax({
url: 'default.aspx/InsertData',
type:'POST',
contentType: 'application/json;charset=utf-8',
dataType: 'json',
data: "{Color:'" + color + "'}",
success: function () {
alert("Başarıyla kaydedildi");
},
error: function () {
alert("ERROR");
}
});
});
function hexc(colorval) {
var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete (parts[0]);
for (var i = 1; i <= 3; ++i) {
parts[i] = parseInt(parts[i]).toString(16);
if (parts[i].length == 1) parts[i] = '0' + parts[i];
}
color = '#' + parts.join('');
}
});
它工作正常,但是当要在数据库中插入COLOR值时会发送错误。 即使它完美地做到了。我想保存用户更改的每个div的颜色。如何从中继器捕获并保存所有值?
答案 0 :(得分:0)
您无法永远保存更改。话虽如此,值得一提的是,您可以使用localStorage
,但是一旦用户清除了浏览器缓存,并且保存在一个浏览器中的更改将不会在其他浏览器中生效,也会被删除。