gpt4 book ai didi

c# - 使用 JavaScript onclick 删除元素并在 SQL 中保存变量

转载 作者:行者123 更新时间:2023-11-28 02:06:02 26 4
gpt4 key购买 nike

我正在尝试向网络应用程序添加一个函数,当用户单击放置在 div 上的“x”按钮时,该函数会删除 div。该 Web 应用程序是用 ASP.NET 编写的。我还需要更新一个 SQL 表值,表明用户已关闭该 div,因此下次用户加载页面时,不需要的 div 不存在。这里的问题是我希望在不重新加载页面的情况下发生这种情况(回发)。这样我就可以使用 jQuery 使 div 滑动/淡出动画,同时让应用程序记住它已关闭。这是到目前为止我的代码。

ASP.NET

<asp:Button ID="ConCloseButton" class="CloseBut" runat="server" OnClientClick="closeConPanel();return false;;" OnClick="ConClose_Click"  Text="&#10006;" />

这是我的 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 逻辑绑定(bind)到事件,只需将其设置为可以通过 AJAX 直接调用的页面即可。类似于“RemoveDivFromDB.aspx”。

然后修改您的 JavaScript 方法以包括:

    function closeConPanel() {
document.getElementById('con-feed').style.display = 'none';
$.ajax({
url: "/RemoveDivFromDB.aspx?id=con-feed",
type: "get"
});
}

您可以而且应该包含“成功”和“失败”的 JavaScript 方法来适本地处理每种情况。在 jquery 网站上查看更多信息:http://api.jquery.com/jQuery.ajax/

关于c# - 使用 JavaScript onclick 删除元素并在 SQL 中保存变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com