私は動的TextBoxを使用していて、ファイルのコードビハインドでそれらの値を取得しています。私はJavascriptを使用してこれらのボックスを作成しています。私のasp.netページコードは
<script type="text/javascript">
$(document).ready(function () {
var counter = 1;
$("#addButton").click(function () {
if (counter > 10) {
alert("Only 10 textboxes allow");
return false;
}
var newTextBoxDiv = $(document.createElement('div'))
.attr("id", 'TextBoxDiv' + counter);
newTextBoxDiv.html('<input type="text" name="textbox' + counter +
'" id="textbox' + counter + '" value="" >');
newTextBoxDiv.appendTo("#TextBoxesGroup");
counter++;
return false;
});
});
</script>
</head>
<body>
<form id="form2" runat="server">
<h1>jQuery add / remove textbox example</h1>
<asp:TextBox runat="server" ID="txt1" type='text' name="textname" />
<asp:Panel runat="server" ID='TextBoxesGroup'>
</asp:Panel>
<asp:LinkButton ID="addButton" runat="server">Add TextBox</asp:LinkButton>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</body>
ページに1つのテキストボックスが表示されています。動的テキストボックスが作成されていない場合は、1つの値のみが表示されます。私のC#コードは
protected void Button1_Click(object sender, EventArgs e)
{
string name = txt1.Text + ",";
if (TextBoxesGroup.Controls.Count > 0)
{
for (int i = 1; i <= TextBoxesGroup.Controls.Count; i++)
{
name += Request.Form["textbox" + i] + ",";
}
}
Label1.Text = name;
}
asp:buttonをクリックすると、(、)で区切られたすべての値が表示されます。ただし、上位2つの値のみが表示されます。1つはasp:Textboxで、2つ目は動的Textboxです。動的に作成されたすべてのテキストボックスの値が必要です。動的テキストボックスが追加されていない場合は、aspからの値のみが表示されます。 textBox...よろしくお願いします