你好,我用css用javascript改变了div的颜色。我在中继器里有一个div。我如何才能永远保存更改。就像颜色是黄色一样。甚至在用户离线并再次上线后,黄色将显示在div中。如何将其与数据库一起使用?我不擅长JQuery代码。因此我需要你的help.thanks。
我必须保存的代码是:
$(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('');
}
});
它工作良好,但它发送错误时,想要插入数据库的颜色值。即使它能完美地做到这一点。我想保存用户更改的每个div的颜色。如何捕获并保存来自中继器的所有值?
发布于 2018-12-16 23:06:37
您不可能永远保存更改。话虽如此,也值得一提的是,你可以使用localStorage
,但一旦用户清除浏览器缓存,这一点也会被清除,保存在一个浏览器中的更改在其他浏览器中不会生效
https://stackoverflow.com/questions/53803426
复制相似问题