2013-02-22 55 views
1

我有一個老式的ASP.NET平原.aspx頁面。 它有一些服務器端控件,一些按鈕回發等。ASP.NET .aspx頁面:如何通過Javascript發送額外的數據?

我打算在客戶端添加一些Javascript來創建用戶構建的額外數據列表。 我不知道這多餘的數據將被髮送多少。所以我不能,例如,只需添加10個隱藏的輸入字段並在代碼隱藏中檢查它們的值。

可能有20個值送回,有可能是100

什麼是發佈此額外數據返回給服務器的最佳方法是什麼?

我可以想象它的工作方式之一是添加一些虛擬隱藏列表控件,由客戶端上的JS填充。這感覺很不舒服,但我想我可以讓它工作。

有沒有更好的方法?

需要注意以下幾點:我不使用MVC或AJAX

  • 不使用JQuery

    • (雖然我能,我想)

    我真的只是想去處理我的選擇。

    謝謝!

  • +2

    使用單一隱藏字段但具有類似分離器加入所述數據; B; C; d或| B | C | d。 – 2013-02-22 18:30:05

    回答

    1

    如果不需要通過ajax發佈,你可以使用javascript創建控件,然後使用Request.Form檢索輸入值。

    ASPX:

    <script> 
        document.write('<input name="field1" type="text" />' + 
            '<input name="field2" type="text" />'); 
    </script> 
    
    <asp:Button ID="btn" Text="button" runat="server" onclick="btn_Click" /> 
    

    ASPX.CS:

    protected void btn_Click(object sender, EventArgs e) 
    { 
        var keys = Request.Form.AllKeys; 
        foreach (var key in keys) 
        { 
         if (key.StartsWith("field")) 
          Response.Write(Request.Form[key]); 
        } 
    } 
    
    +0

    謝謝,這有助於。我一直在使用控件,所以我忘了你可以直接通過'Request.Form'獲取所有的數據。 – jwd 2013-02-22 22:53:58

    相關問題