c# - 如何获取表行中的所有 HtmlInputText 控件?

标签 c# html .net xml html-table

我正在尝试创建一个网页来创建小型播放列表。将数据输入字段后,需要将其保存到 XML 文件中。目前该表如下所示:

<%-- song list table --%>
<table runat="server" id="table" class="table">

<%-- info row --%>
<thead>
 <tr>    
  <td>Song Title</td>
  <td>Song Artist</td>
  <td>Song Album</td>
  <td><%-- column for delete button --%></td>
 </tr>
</thead>

<%-- input rows --%>
<tbody>
 <tr>
  <td><input runat="server" placeholder="Title" type="text" /></td>
  <td><input runat="server" placeholder="Artist" type="text" /></td>
  <td><input runat="server" placeholder="Album" type="text" /></td>

  <td>
   <a href="#">
    <img src="Images/Delete.png" onmouseover="this.src='Images/Delete-Hover.png'" onmouseout="this.src='Images/Delete.png'" alt="Delete" />
   </a>
  </td>
 </tr>
</tbody>

</table>

新行将使用 jQuery 动态添加。当用户单击“保存”时,我需要将表数据写入其特定的 XML 文件中。目前我的后端代码如下所示:

//for each row
foreach (HtmlTableRow row in table.Rows)
{
 //create row info
 textWriter.WriteStartElement("Row");

 //for each cell
 foreach (HtmlTableCell element in row.Cells)
 {
  //get inputs

  //write current input to xml
 }

 //close row
 textWriter.WriteEndElement();
}

我的问题是我的代码从哪里开始能够获取每个输入的值并将它们写入 XML。

最佳答案

您需要为元素提供一个 ID,以便您可以通过它来引用它们。此外,任何动态添加的行都将无法以这种方式访问​​;这是因为它们并不作为服务器控件存在于控件树中,而是纯粹的客户端控件。您必须使用 Request.Form 集合来访问这些。如果您希望它们在回发中也持续存在,则必须将它们动态添加到控制树中。

如果您使用 JQuery,那么获取客户端上的所有值并将这些值发送到 Web 服务或类似的服务会更高效、更容易。

关于c# - 如何获取表行中的所有 HtmlInputText 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13828516/

相关文章:

C# - 从接口(interface)的 GetCustomAttribute 找不到自定义属性

c# - WebBrowser - 查找呈现文本的高度

c# - 原始位图数据/扫描线(镜像驱动原始数据)?

c# - 如何判断 Windows 桌面是否功能齐全(已加载)c#

javascript - 如何使用javascript将网页上的图像保存到服务器?

html - 背景图像 : url() for input not working in IE 8

php - 我提供的图片不正确吗,它们都显示为旋转了 90 度

C# + PHP 在同一个应用程序中?

c# - 在单独的线程中执行长时间操作是否安全?

c# - 什么时候需要使用 x86 或 x64 目标平台?