Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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
Javascript 如何从客户端添加行的表中获取数据?_Javascript_C#_Asp.net_Html Table - Fatal编程技术网

Javascript 如何从客户端添加行的表中获取数据?

Javascript 如何从客户端添加行的表中获取数据?,javascript,c#,asp.net,html-table,Javascript,C#,Asp.net,Html Table,我有一个包含两列的表。 并且有一个按钮“添加行”,允许用户动态添加带有2个文本框的新行(通过使用jJvascript来提高性能,而无需在服务器上发回) 我希望检索用户键入的所有值并保存到数据库 我的问题是,我无法在服务器端(在.aspx.cs文件中)检索表的值,因为我的表不是runat=“server”,如果我的表runat=“server”,我无法在客户端添加行 有没有解决这个问题的办法,或者有没有其他办法 下面是我的“添加行”代码: 这是表格的代码 <table id="tblAddN

我有一个包含两列的表。 并且有一个按钮“添加行”,允许用户动态添加带有2个文本框的新行(通过使用jJvascript来提高性能,而无需在服务器上发回)

我希望检索用户键入的所有值并保存到数据库

我的问题是,我无法在服务器端(在.aspx.cs文件中)检索表的值,因为我的表不是
runat=“server”
,如果我的表
runat=“server”
,我无法在客户端添加行

有没有解决这个问题的办法,或者有没有其他办法

下面是我的“添加行”代码:

这是表格的代码

<table id="tblAddNode" width="750px" border="1">
            <tr>
                <th width="10px">No.</th>
                <th width="350px">Description</th>
                <th width="350px"> Keyword </th>
             </tr>
             <tr>
                <td width="10px">1</td>
                <td width="350px"> <input type="text" style="width:345px;"/> </td>
                <td width="350px"> <input type="text" style="width:345px;"/> </td>
             </tr>
        </table>
提交按钮

<asp:Button ID="EnterRootNodeButton" runat="server" Text="OK" OnClick="EnterRootNode_Click"/>

我不清楚,如果您将客户端的信息标记为runat=“server”,为什么您认为您无法操作客户端的信息,您的意思是在这之后Id会更改吗

您可以通过添加clientmode=“static”将id标记为static,或者在javascript中,您可以引用ClientId,而不是引用id

此外,有多种方法可以做到这一点,这取决于您的解决方案是如何设计的,以及您希望在这个问题上花费的时间

您可以使用用户输入信息发出ajax调用,然后将其发布到API(您需要开发该API)。您将保存用户添加的所有信息

您还可以使用另一个API来公开所有信息,并允许您重新加载信息(如果将来需要)


在这方面,您会有更好的UI体验,但如果您不熟悉Ajax和webservice设计,当然需要更多的时间。

使用ASP.Net表单提出的任何解决方案都不会很好。您应该使用一个使用javascript框架的AJAX方法?或者您希望单击“添加”按钮将数据发送到服务器?@Dvir。。是的,还有另一个提交要向服务器发送数据。@SpencerRuport。。好啊我会尽力做到的。。谢谢..嗨,谢谢你的回复。如果我把runat=“server”,我不能使用javascript添加行。我不知道你为什么说,在你的按钮中,你可以有OnClick=“something”或OnClientClick=“something”,你可以在那里有你的函数。我在我的问题中新添加了我的两个按钮。在aspx.cs文件中,在EnterRootNode\u中单击此处的操作。。在没有runat=“server”的情况下,我尝试使用tblAddNode.Rows.Count检索行数,但出现一个错误,称当前上下文中不存在tblAddNode。在代码隐藏中,如果需要访问tblAddNode,则需要将表标记为runat=“server”,或者您无法访问它。在您的情况下,最好使用完整的客户端实现或完整的服务器端实现。如果要混合使用,请将其标记为runat='server',并使clientmode='static',这样您的客户机代码就不会中断。它是这样放置的吗?
input type="button" value="Add Row" onclientclick="addRow('tblAddNode')"
<asp:Button ID="EnterRootNodeButton" runat="server" Text="OK" OnClick="EnterRootNode_Click"/>