从后面执行代码时,不存在从javascript更新的文本框值

时间:2018-06-22 04:18:36

标签: c# jquery asp.net webforms postback

我有一种情况是在页面加载时从数据库中获取文本框的值。在单击按钮时,我使用javascript更新了文本框。但是,当我尝试将值保存到数据库时,更新的新值不存在。如何保存通过javascript更新的信息。请帮帮我。

下面的javascript函数将信息添加到文本框ApproverListObj。在页面加载时,我使用select查询从数据库中填充所有需求。

    function AddButtonApproverList() {
        var ApproverListObj = document.getElementById("<%=ApproverList.ClientID%>");
        var ApproverListDDObj = document.getElementById("<%=ApproverListDD.ClientID%>");
        var output;

        if (ApproverListObj.value.includes(ApproverListDDObj.options[ApproverListDDObj.selectedIndex].text) == false) {
            document.getElementById("<%=ChangesMade.ClientID%>").value = "1";
            output = ApproverListObj.value.concat(ApproverListDDObj.options[ApproverListDDObj.selectedIndex].text, "; \n");
            ApproverListObj.value = output;
        }
        return false;
    }

一旦我使用javascript更新代码,请在“提交”按钮上按如下所示更新数据库。

    protected void SubmitClaim_Click(object sender, EventArgs e)
    {
        string cmdString = null, approverList = null;
        DisposeConnIfRequired();
        Conn = new SqlConnection(LoginDbCS);

        approverList = "[" + ClaimTypeDD.SelectedItem.Text + "ApproverList]";
        cmdString = ("UPDATE dbo.AdminDetails SET " + approverList + "=@ApproverList");

        SqlCommand cmd = new SqlCommand(cmdString, Conn);
        try
        {
            cmd.Parameters.Add("ApproverList", SqlDbType.NVarChar).Value = ApproverList.Text;
            if (Conn.State.Equals(ConnectionState.Closed))
            {
                Conn.Open();
                cmd.ExecuteNonQuery();
                Conn.Close();
            }
        }
        catch (Exception Ex)
        {
            if (Conn != null)
                Conn.Dispose();

            Application["TheException"] = Ex;
            Response.Redirect("ErrPage.aspx", false);
            return;
        }
    }

但是当我检查ApproverList时,不存在使用javascript所做的更改。我不确定这里发生了什么。

1 个答案:

答案 0 :(得分:0)

要实现此目的,我必须删除文本框的disable或readonly属性。而是编写了JavaScript,以在以下onkeypress,onkeydown和onkeyup事件上返回false。这将阻止用户使用键盘编辑文本框。由于我已经禁用了右键单击功能,所以我不必为此烦恼。