Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# extjs/c-如何将表单中的数据保存到数据库?_C#_Extjs_Submit_Extjs4 - Fatal编程技术网

C# extjs/c-如何将表单中的数据保存到数据库?

C# extjs/c-如何将表单中的数据保存到数据库?,c#,extjs,submit,extjs4,C#,Extjs,Submit,Extjs4,我试图通过一个表单向我的数据库中添加一个新用户 我准备了表单,但我的问题是如何将此表单中的数据保存到数据库中? im使用c和extjs4.0.1 我知道我需要在按钮上使用submit并给它一个url 我这样做了,但是当我点击它时,什么也没有发生!没有错误!我得到了成功信息框!但是当我检查数据库时,没有插入任何内容!就像我的updateuser函数从未被调用过 这是我的表单脚本: buttons: [{ text: 'Save user',

我试图通过一个表单向我的数据库中添加一个新用户 我准备了表单,但我的问题是如何将此表单中的数据保存到数据库中? im使用c和extjs4.0.1

我知道我需要在按钮上使用submit并给它一个url 我这样做了,但是当我点击它时,什么也没有发生!没有错误!我得到了成功信息框!但是当我检查数据库时,没有插入任何内容!就像我的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();

                     }
你有什么想法吗? 至少让我知道我是否在正确的道路上。。。
谢谢

首先成功:函数形式,操作此函数调用并不意味着更新用户成功,只意味着提交成功。。要获得成功,您需要将json编码为success true,然后action.result.success将确定success是否为true。。。检查api

第二,我不是一个很爱c的人。。。但你似乎连请求都不处理

url: 'update.ashx',
params: {action: 'update'},
success: function (form, action) {
编辑:

为避免重复问题,请向处理程序发送一个额外的参数。。。并且仅当接收到请求中的更新操作时才执行更新方法

url: 'update.ashx',
params: {action: 'update'},
success: function (form, action) {

表单提交将表单值发送到上下文对象包含的HttpRequest对象内的处理程序。。为了检索表单值,您可以查看示例

谢谢,我刚开始学习c,为什么你说我不处理请求?ProcessRequest是从ajax请求调用的方法。。因此,您必须获得从请求发送的参数,它们应该在context.HttpRequest.params中。。。或者类似的东西,所以你必须从上下文对象中选择firstname,lastname,email,然后调用updateUserfirstname,lastname,email方法。我在尝试你说的,问题是Processrequest似乎是在我实际调用它之前在项目开始时执行的,所以iget数据被保存了两次!主要的问题是我不知道如何将我的表单feilds值发送给我的处理程序?!submit发送参数的方式与发送action参数的方式相同,请在extjs字段中使用'name'配置来指定ewach字段的参数名称。因此,如果您在表单中有一个textfield,并且您设置了名称:“someParam”,您将进入请求上下文。request.Params[someParam]=textfield的值,也许您应该看看