我试图通过表单将新用户添加到我的数据库 我准备了表单,但我的问题是如何将此表单中的数据保存到我的数据库? 即时通讯使用c#和extjs4.0.1
我知道我需要在按钮上使用提交并给它一个网址 我这样做但是当我点击它没有任何反应!没错!我得到了成功信息框!但是当我检查数据库时,没有插入任何内容!就像我的updateuser函数从未被调用过一样?!!
这是我的表单脚本:
buttons: [{
text: 'Save user',
handler: function () {
if (this.up('form').getForm().isValid())
this.up('form').getForm().submit
({// this would submit the form to the configured url
url: 'update.ashx',
success: function (form, action) {
Ext.MessageBox.show({
title: 'Success !',
msg: 'Changes saved successfully<br />',
icon: Ext.MessageBox.INFO
})
},
});
this.up('form').getForm().reset();
}
这是我的update.ashx脚本:
public class update : IHttpHandler
{
SqlConnection dbConn = new SqlConnection("....");
public void ProcessRequest(HttpContext context)
{ }
public bool IsReusable
{
get { return false; }
}
public void updateUser(string firstname, string lastname, string email)
{
string str = "insert into User (Name , FName , Email ) values ( '" + firstname + "' , '" + lastname + "' , '" + email + "' )";
SqlCommand sqlCommand = new SqlCommand(str);
sqlCommand.Connection = dbConn;
sqlCommand.CommandType = CommandType.Text;
SqlDataAdapter sda = new SqlDataAdapter(sqlCommand);
dbConn.Open();
if (sqlCommand.Connection.State == ConnectionState.Open)
{
sqlCommand.ExecuteNonQuery();
dbConn.Close();
}
}
}
你知道吗?
至少让我知道我是否正确的方式...
感谢
答案 0 :(得分:1)
首先“成功:功能(形式,动作)”这个函数调用并不意味着更新用户是成功的,只是提交成功..为了成功,你需要编码一个成功的json true ,然后action.result.success将确定成功是否正确...检查api .....
其次,我不是一个c#家伙...但似乎你甚至没有处理请求
修改强>
为避免重复出现问题,请向处理程序发送额外的参数...并仅在请求中接收更新操作时执行更新方法
url: 'update.ashx',
params: {action: 'update'},
success: function (form, action) {
表单提交将表单值发送到上下文对象包含的HttpRequest对象内的处理程序..用于检索表单值,您可以检查http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.processrequest.aspx示例