C# 无法处理同一表单的div内的输入字段

C# 无法处理同一表单的div内的输入字段,c#,asp.net,forms,html,C#,Asp.net,Forms,Html,我的ASPX页面中有一个表单,由c#后面的代码处理。 它工作正常,直到我需要根据用户需要隐藏或显示某些输入。 这部分也很好,但当我输入div时,我的c#无法再获取表单值。 下面是对我的代码的模拟: <form id="form1" runat="server"> <table width="100%" frame=box> <tr> <td> <div id='firstText' r

我的ASPX页面中有一个表单,由c#后面的代码处理。 它工作正常,直到我需要根据用户需要
隐藏
显示
某些输入。 这部分也很好,但当我输入div时,我的c#无法再获取表单值。 下面是对我的代码的模拟:

<form id="form1" runat="server">
   <table width="100%" frame=box>
      <tr>
         <td>
           <div id='firstText' runat="server">
             <table>
               <tr>
                  <td>
                        <input name="INPUT1" id="idInput1" runat="server" type="radio" value="someVal" checked />
                  </td>
               </tr>
             </table>
            </div>
         </td>
      </tr>
      <tr>
         <td>
            <div id='secondText' runat="server">
             <table>
               <tr>
                  <td>
                        <input name="INPUT2" id="idInput2" runat="server" type="radio" value="someVal2" checked />
                  </td>
               </tr>
             </table>
            </div>
         </td>
      </tr>
   </table>
</form>
在上述情况下,我在
selectionOption
中得到的总是
null
。 但是当我从代码中删除div时,一切都很好


非常感谢您的建议。

当您添加提交按钮时,选择的选项值将正确显示。下面是示例代码

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NestedIdTest.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
<form id="form1" runat="server">
   <table width="100%" frame=box>
      <tr>
         <td>
           <div id='firstText' runat="server">
             <table>
               <tr>
                  <td>
                        <input name="INPUT1" id="idInput1" runat="server" type="radio" value="someVal" checked />
                  </td>
               </tr>
             </table>
            </div>
         </td>
      </tr>
      <tr>
         <td>
            <div id='secondText' runat="server">
             <table>
               <tr>
                  <td>
                        <input name="INPUT2" id="idInput2" runat="server" type="radio" value="someVal2" checked />
                  </td>
               </tr>
             </table>
            </div>
         </td>
      </tr>
   </table>
    <asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
<asp:Button ID="Button1" runat="server" Text="Button" />
请注意,在Default.aspx中添加了一行

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NestedIdTest.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
<form id="form1" runat="server">
   <table width="100%" frame=box>
      <tr>
         <td>
           <div id='firstText' runat="server">
             <table>
               <tr>
                  <td>
                        <input name="INPUT1" id="idInput1" runat="server" type="radio" value="someVal" checked />
                  </td>
               </tr>
             </table>
            </div>
         </td>
      </tr>
      <tr>
         <td>
            <div id='secondText' runat="server">
             <table>
               <tr>
                  <td>
                        <input name="INPUT2" id="idInput2" runat="server" type="radio" value="someVal2" checked />
                  </td>
               </tr>
             </table>
            </div>
         </td>
      </tr>
   </table>
    <asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
<asp:Button ID="Button1" runat="server" Text="Button" />

谢谢

我已经有了一个提交按钮,但忘了在模拟代码中提到它。 我已经发现问题了。我只是想详细说明一下,以防有人遇到这种情况

在代码背后的页面加载中,默认情况下我隐藏了一个div

secondText.visible = false;
这就是我无法读取其输入值的原因。 事实上,我希望组件的值即使不可见也可以访问。我没有禁用它,只是更改了visible属性

总之,我学到了一些新东西! 我在可见的div中创建了一个隐藏的div,以保存隐藏的div中我想要的值。因此,即使div是隐藏的,我也可以从显示的div中获得所需的值

问候