使用JavaScript onclick删除元素,并在SQL中保存变量
本文关键字:SQL 保存 变量 并在 JavaScript onclick 删除 元素 使用 | 更新日期: 2023-09-27 18:23:55
我正在尝试向web应用程序添加一个函数,当用户单击放置在div上的"x"按钮时,该函数会删除div。该web应用程序是用ASP.NET编写的。我还需要更新一个SQL表值,说明用户已关闭div,因此下次用户加载页面时,不需要的div就不存在了。这里的问题是,我希望在不重新加载页面(回发)的情况下实现这一点。这样,我就可以在让应用程序记住is已经关闭的同时,用jQuery动画化div的滑动/淡出。这是我迄今为止的代码。
ASP.NET
<asp:Button ID="ConCloseButton" class="CloseBut" runat="server" OnClientClick="closeConPanel();return false;;" OnClick="ConClose_Click" Text="✖" />
这是我的JavaScript
function closeConPanel() {
document.getElementById('con-feed').style.display = 'none';
}
这是我的C#服务器代码
protected void ConClose_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=xxxx;Initial Catalog=xxxxxx;User ID=xxxxxx_user;Password=xxxxxxxx_user");
conn.Open();
SqlCommand cmdUpdate = new SqlCommand("Update CookieInfo Set ConstNewsData='0' where UserEmailId='" + (Label1.Text).ToString() + "'", conn);
cmdUpdate.ExecuteNonQuery();
conn.Close();
HttpCookie cookie = Request.Cookies["Dashboard"];
cookie["ConstNews"] = "0";
cookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(cookie);
}
因此,作为总结,我希望用户点击ASP按钮,隐藏"con feed"div,并让应用程序记住这一点(他们登录时使用一个电子邮件地址,该地址在SQL表上表示他们的首选项。如果他们关闭一个div,其状态将==0,并且不会显示。否则,其状态==1,这将使其可见。)。所有这些都有效,但我希望它在没有回发的情况下工作。
与其将ConClose_Click逻辑绑定到事件,不如将其作为一个可以通过AJAX直接调用的页面。类似于"RemoveDivFromDB.aspx".
然后修改您的javascript方法以包括:
function closeConPanel() {
document.getElementById('con-feed').style.display = 'none';
$.ajax({
url: "/RemoveDivFromDB.aspx?id=con-feed",
type: "get"
});
}
您可以并且应该包含一个"成功"answers"失败"的javascript方法来适当地处理每种情况。在jquery网站上查看更多信息:http://api.jquery.com/jQuery.ajax/