2014-04-10 38 views
0

我的ASPX頁面中有一個表單,它由c#後面的代碼處理。 它工作正常,直到我需要hideshow根據用戶需求的某些輸入。 這部分也運行良好,但是當我把div放入時,我的c#無法再獲取表單值。 這裏是我的代碼的模擬:無法處理同一表單的div內的輸入字段

<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> 

後面的代碼:

string selectedOption = Request.Form["INPUT2"]; 

與上述情況,我所得到的selectionOption總是null。 但是,當我從代碼中刪除div時,一切都很好。

任何建議表示讚賞球員。

回答

0

當您添加一個提交按鈕時,selectedOption值正確。示例代碼如下。

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> 

Default.aspx.cs(代碼後面)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace NestedIdTest 
{ 
    public partial class Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      string selectedOption = Request.Form["INPUT2"]; 
     } 
    } 
} 

請注意添加行的Default.aspx

<asp:Button ID="Button1" runat="server" Text="Button" /> 
0

謝謝。

我已經有一個提交按鈕,忘了在模擬代碼中提到它。 我發現問題了。如果有人遇到此問題,請詳細說明。

背後我被默認

secondText.visible = false; 

這就是爲什麼我不能看它的輸入值隱藏的div的一個代碼的頁面加載。實際上,我期望組件的值即使不可見也是可訪問的。我不禁用它,只是改變可見的屬性。

無論如何,學到了新東西! 我在可見區域創建了一個隱藏div來保存隱藏區域中我想要的值。所以即使div被隱藏,我也可以從顯示的那個獲得我想要的值。

問候。

相關問題