获取ASP文本框的更改值

时间:2015-10-29 11:04:52

标签: javascript c# asp.net

我正在尝试创建一个动态文本框,我可以使用它来允许输入多个值。我为此目的使用了javascript,认为这可以让我获取文本值并将其放入列表中,然后再将其传递给我的Web应用程序。但是,代码document.getElementById('<%=sidemgr.ClientID%>').value仅从其创建中获取sidemgr.txt的初始值。

如何获取此文本框的更新值?我是否必须使用javascript文本框?

这是我的javascript

<script type="text/javascript">
    $(document).ready(function () {
        $("#btnAdd").click(function () {
            var value = document.getElementById('<%=sidemgr.ClientID%>').value;
            var field = $("#field").val();
            var input = "<div id='listDiv' />";
            var newRow = "<tr><td>" + field + "</td><td>" + value + "</td></tr>";
            $('#controls').append(newRow);
        });
    });
</script>

和html

    <div>
       <asp:TextBox ID="sidemgr" runat="server"></asp:TextBox>
            <br />
<input id="btnAdd" type="url" value="Add" />
        <asp:Button ID="btnProcess" runat="server" Text="Process" OnClick="Process" />
<table id="controls" cellpadding="10" cellspacing="10">        
        </table>
    </div>

C#代码

protected void Process(object sender, EventArgs e)
    {
        var parameters = Request.Form["parameters"];
        if (parameters != null && parameters.Count() > 0)
        {                
            parameters.Split(',').ToList().
                ForEach(p =>
                {
                    Response.Write(p + "<br />");
                });
        }
    }

请注意,其中一些来自我之前发现的解决方案。

1 个答案:

答案 0 :(得分:1)

创建一个隐藏字段来保存服务器中所需的值,你做服务器的方式不是Request.Form的值[&#34;参数&#34;]

&#13;
&#13;
            $(document).ready(function () {
                $("#btnAdd").click(function () {
                    var value = document.getElementById('<%=sidemgr.ClientID%>').value;
                    var field = $("#field").val();
                    var input = "<div id='listDiv' />";
                    var newRow = "<tr><td>" + field + "</td><td>" + value + "</td></tr>";
                    $("#parameters").val($("#parameters").val()+value+",")
                    $('#controls').append(newRow);
                });
            });
&#13;
       <div>
           <asp:TextBox ID="sidemgr" runat="server"></asp:TextBox>
           <input type="hidden" id="parameters" name="parameters"/>
           <br />
           <input id="btnAdd" type="url" value="Add" />
           <asp:Button ID="btnProcess" runat="server" Text="Process" OnClick="Process" />
           <table id="controls" cellpadding="10" cellspacing="10">        
            </table>
        </div>
&#13;
&#13;
&#13;

使用此隐藏字段,服务器将收到Request.Form [&#34;参数&#34;],其中包含&#34; value1,value2,&#34;

或者您可以使用多个名为&#34;参数[]&#34;的隐藏字段,插入表格中,并使用Request.Form [&#34;参数&#34;]作为列表