Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
Jquery can';t使用ajax和linq将数据保存到数据库_Jquery_Asp.net_Linq - Fatal编程技术网

Jquery can';t使用ajax和linq将数据保存到数据库

Jquery can';t使用ajax和linq将数据保存到数据库,jquery,asp.net,linq,Jquery,Asp.net,Linq,这是我的listview.aspx文件,具有AJAX功能和listview控制器。我无法保存此数据: $(function () { var firstname = $('#fname').val(); var lastname = $('#lanme').val(); var education = $('#education').val(); var email = $('#email').val(); $('#submit').click(funct

这是我的
listview.aspx
文件,具有AJAX功能和listview控制器。我无法保存此数据:

$(function () {
    var firstname = $('#fname').val();
    var lastname = $('#lanme').val();
    var education = $('#education').val();
    var email = $('#email').val();
    $('#submit').click(function () {
        $.ajax({
            url: 'listview.aspx/Insert_data',
            data: "{ 'First' : '" + firstname + "' , 'Last' : '" + lastname + "' , 'education' : '" + education + "' , 'Email' : '" + email + "'  }",
            type: 'POST',
            async: false,
            success: function (response) {                        
                $('#fname').val('');
                $('#lanme').val('');
                $('#education').val('');
                $('#email').val('');
                alert('saved..');
            },
            error: function () {
                alert("Error");
            }
        })
    })
})
对于以下列表控件:

<table>
    <tr>
        <td>FirstName:</td>
        <td><input type="text" id="fname" /></td>
    </tr>
    <tr>
        <td>Last:</td>
        <td><input type="text" id="lname" /></td>
    </tr>
    <tr>
        <td>Education:</td>
        <td><input type="text" id="education" /></td>
    </tr>
    <tr>
        <td>Email:</td>
        <td><input type="text" id="email" /></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" id="submit" value="Submit" /></td>
    </tr>
</table>
</div>
<div>
    <asp:ListView ID="lv1" runat="server">
     <LayoutTemplate>
         <table id="tbl1">
             <tr>
                 <th>ID</th>
                 <th>FirstName</th>
                 <th>LastName</th>
                 <th>Education</th>
                 <th>Email</th>
             </tr> 
             <tbody>
                 <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
             </tbody>                
         </table>
     </LayoutTemplate>
        <ItemTemplate>
            <tr>
            <td><%# Eval("Id") %></td>
            <td><%# Eval("First") %></td>
            <td><%# Eval("Last") %></td>
            <td><%# Eval("education") %></td>
            <td><%# Eval("Email") %></td>
            </tr>
        </ItemTemplate>
    </asp:ListView>
</div>

当我提交表单以保存数据时,它会显示一个警报,说明数据是按照我在AJAX函数中编写的方式保存的,但实际上不是这样。

您是否尝试过更改
插入数据
函数,使其具有与从AJAX调用传递的输入参数相同的输入参数

您的方法签名是:

public static bool Insert_data(string fname,string lname, string edu, string email)
但是您的Ajax调用正在通过:

data: "{ 'First' : '" + firstname + "' , 'Last' : '" + lastname + "' , 'education' : '" + education + "' , 'Email' : '" + email + "'  }",
您没有阻止“提交”按钮操作。更改您的代码:

$('#submit').click(function(e) {

    // Prevent page postback.
    e.preventDefault();

    // Ajax code here

});
最后,我更喜欢传递一个对象,而不是大量的参数,因为它允许容易维护的代码。您可以更改正在使用的字符串参数并替换为对象

可以在JavaScript中设置对象:

var mFormData = {
  FirstName: firstname,
  LastName: lastname,
  Education: education,
  Email: email
};
然后,您可以通过Ajax调用数据属性将其传入:

data: JSON.stringify(mFormData)

你的控制器代码中有吗?没有,它不是MVC结构。我说的是aspx页面中的ListView控制器,但它没有发生。ajax方法不起作用。页面正在发回。
data: JSON.stringify(mFormData)