【发布时间】:2021-08-17 12:31:24
【问题描述】:
在 javascript Visual Studio 数据库编程中,我正在处理非常不寻常的程序执行行为。 我有这样的javascript代码:
<script type="text/javascript">
function GetValue6(id1, id2, id3) {
var user = {};
user.Username = $("[id*='" + id1 + "']").val();
user.Password = $("[id*='" + id2 + "']").val();
alert(user.Username);
$.ajax({
type: "POST",
url: '<%= ResolveUrl("Default.aspx/SaveUser") %>',
data: '{user: ' + JSON.stringify(user) + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert("User has been added successfully.");
window.location.reload();
},
error: function () { alert("There was an error."); }
});
return false;
}
</script>
文件后面的代码如下:
child.Text = "<input type='text' id='" + TextGUID1 + "' value='" + rows[i]
["Area"].ToString() + "'/>
<input type='text' id='" + TextGUID2 + "' value='" + rows[i]
["Area"].ToString() + "'/>
<input type = 'button' id='" + ButtonGUID3 + "' onclick=\"GetValue6('" +
TextGUID1 + "','" + TextGUID2 + "','" + ButtonGUID3 + "')\" value='Save'
/>
public static void SaveUser(User user)
{
string constr =
ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO Users2
VALUES(@Username, @Password)"))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@Username", user.Username);
cmd.Parameters.AddWithValue("@Password", user.Password);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
我面临一个非常奇怪的行为,当我通过单击“保存”按钮运行上述代码时,我遇到错误警报消息“发生错误。”。但是当我在调试模式下运行程序并按 F10(跳过新函数调用)时,我会收到警告消息“用户已成功添加”。并且用户在相应的表中插入。此外,一件奇怪的事情是,当 e 收到错误消息“出现错误。”时,即使这样,相应的用户也成功插入到表中。 请指导我哪里错了,如何让用户名插入正确的成功消息。
【问题讨论】:
标签: javascript c# asp.net json ajax