Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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# 我正在使用jQuery动态地添加和删除行,现在我希望输入到该行中的值使用ASP.NET存储到DB中_C#_Jquery_Asp.net_Database - Fatal编程技术网

C# 我正在使用jQuery动态地添加和删除行,现在我希望输入到该行中的值使用ASP.NET存储到DB中

C# 我正在使用jQuery动态地添加和删除行,现在我希望输入到该行中的值使用ASP.NET存储到DB中,c#,jquery,asp.net,database,C#,Jquery,Asp.net,Database,下面是jQuery的代码,它帮助我动态地添加和删除行,但现在我想将输入这些动态行的数据添加到数据库中,特别是使用ASP.NET。我没有任何想法,而且对ASP.NET非常陌生。有两个字段接受日期。请帮帮我 $(document).ready(function () { var lastChar = 1, newRow; get_lastID = function () { var id = $('#experience_table tr:l

下面是jQuery的代码,它帮助我动态地添加和删除行,但现在我想将输入这些动态行的数据添加到数据库中,特别是使用ASP.NET。我没有任何想法,而且对ASP.NET非常陌生。有两个字段接受日期。请帮帮我

$(document).ready(function () {

        var lastChar = 1, newRow;
        get_lastID = function () {
            var id = $('#experience_table tr:last-child td:first-child input').attr("name");
            lastChar = parseInt(id.substr(id.length - 2), 10);
            lastChar = lastChar + 1;
            newRow = "<tr> \
        <td><input type='text'  name='company_name_0" + lastChar + "' maxlength='255' /></td> \
        <td><input type='text' class='datePicker' name='from_0" + lastChar + "'  /></td> \
        <td><input type='text'  class='datePicker' name='to_0" + lastChar + "'  /></td> \
        <td><input type='number' name='Total_exp_0" + lastChar + "' maxlength='11' /></td> \
                <td><input type='button' value='Delete' class = 'del_ExperienceRow' /></td> \
            </tr>"

        }
        $("#add_ExperienceRow").on("click", function () {

            if ($('#experience_table tr').size() <= 9) {
                get_lastID();
                $('#experience_table tbody').append(newRow);
            } else {
                alert("Reached Maximum Rows!");
            };
            $('.datePicker').datepicker();

        });
            $('.datePicker').datepicker();
        $(document).on('click', '.del_ExperienceRow', function () {

            $(this).closest('tr').remove();
            lastChar = lastChar - 2;
        });


        });

    });
$(文档).ready(函数(){
var lastChar=1,新行;
get_lastID=函数(){
var id=$(“#经验_表tr:last child td:first child input”).attr(“name”);
lastChar=parseInt(id.substr(id.length-2),10);
lastChar=lastChar+1;
纽罗=”\
\
\
\
\
\
"
}
$(“#添加经验流”)。在(“单击”,函数(){

如果($('#experience_table tr').size()您必须创建一个保存按钮,将所有行和输入的数据存储在一个数组中,并按如下方式将数据发送到服务器:

function saveRows() {
    var data = []; // Creates an array

    // Create a foreach loop over all rows
    $("#experience_table tr").each(function() { 
        var row = $(this);

        // This adds an element to the array for the current row, containing an 
        // anonymous object with the data of the current row
        data.push({ someData: $(row).find("td.experience").val() }); 
    });

    $.ajax( { ... } ) // Create ajax call to your server (webservice)
}
然后您将需要服务器端的Web服务。这是ASP.NET部分。 我建议您设置WCF服务。请参阅此处的教程:


如果您还有其他问题,请随时提问!

以下是我如何使用ASP和jQuery发送电子邮件的示例。原则相同,因此您可以很好地进行调整

jQuery

function sendEmail() {
   $("#email").dialog({
       modal: true,
       width: 550,
       buttons: {
            "Send": function () {
                var btn = document.getElementById("<%=lbSend.ClientID %>");
                if (btn) btn.click();
                $(this).dialog("close");
             },
             Cancel: function () {
                $(this).dialog("close");
             }
          }
        });
        jQuery("#email").parent().appendTo(jQuery("form:first"));//this is key as it makes sure it finds the textboxes within the dialog. Without this, you will insert blank values. 
        }
因此,对于您的控件,您必须对其进行一些更改。您必须创建一个调用隐藏“div”的函数。正如您所知,在ASP标记中,我使用的是ASP控件,因此我可以从后面的代码中调用它们。我还使用一个没有文本的链接按钮(如果将visible设置为false,则无法启动该按钮)。在我的jQuery中,我创建了自己的“发送”按钮,并在div中搜索链接按钮,一旦单击“发送”按钮,链接按钮事件将被触发。正如我前面所说,这是发送电子邮件,因此您的按钮单击事件将不同。如果您需要向DB写入帮助,请告诉我


希望这有帮助!

您可以使用请求[“键”]拾取数据发布后。但是,您应该增加上的数字以区分它们。根据我使用jQuery和asp.net的经验,您必须在jQuery中使用asp控件才能将其称为服务器端。在一天结束时,它将全部归结为标准的
HTTPPOST
GET
(也称为PUT/DELETE)如答案所示-re:使用jquery Ajax/Post/Get->一些目标,可能是页面、ashx、web服务等。我不会为此使用回发,因为这会增加网站的加载时间,增加服务器负载并降低用户体验。使用Ajax调用会更好,但如果您不想使用web服务,这将是一个好办法仍然是一个解决方案。我使用上面的代码,加载时间很短。如果您没有插入大量数据(看起来他插入了4个值),那么加载时间应该不会太长。
<div class="popUpStyle" title="Send Email" id="email" style="display: none">
     <asp:Label ID="lblTo" runat="server" Text="To: " Font-Bold="true"></asp:Label><asp:Label runat="server" ID="lblSendTo" Text=""></asp:Label>&nbsp;&nbsp;&nbsp;&nbsp;<asp:Label ID="lblFrom" Font-Bold="true" runat="server" Text="From: "></asp:Label><asp:Label runat="server" ID="lblSendFrom" Text="Training.Registration@JeffWyler.com"></asp:Label>
     <br />
     <asp:Label ID="lblSubject" Font-Bold="true" runat="server" Text="Subject: "></asp:Label><asp:TextBox ID="tbSubject" runat="server" Width="200px"></asp:TextBox>
     <br />
      <asp:Label ID="lblBody" Font-Bold="true" runat="server" Text="Message:"></asp:Label>
     <br />
     <asp:TextBox ID="tbMessage" runat="server" Width="515px" TextMode="MultiLine" Height="150px"></asp:TextBox>
     <asp:LinkButton ID="lbSend" runat="server" Text="" Width="50px" Font-Size="smaller" OnClick="lbSend_Click"></asp:LinkButton>
 </div>
protected void lbSend_Click(object sender, EventArgs e)
{
    //code to your database
}