我有一种情况是在页面加载时从数据库中获取文本框的值。在单击按钮时,我使用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所做的更改。我不确定这里发生了什么。
答案 0 :(得分:0)
要实现此目的,我必须删除文本框的disable或readonly属性。而是编写了JavaScript,以在以下onkeypress,onkeydown和onkeyup事件上返回false。这将阻止用户使用键盘编辑文本框。由于我已经禁用了右键单击功能,所以我不必为此烦恼。