我是jQuery的新手,所以这可能是一个非常简单的答案。我有一个ASP.NET项目,我试图通过在文本框中键入并单击按钮来动态地将内容添加到ASP Label元素。听起来很简单吧?好吧,我可以添加内容,但是当提交表单时,Label元素仍然是空的?为什么没有提交新数据?我错过了什么步骤?请帮忙。这是一些示例代码:
<asp:Label ID="lblContainer" Text="" runat="server" />
<input type="text" name="tag" id="tag" />
<input type="button" name="AddTag" value="Add" class="button" onclick="addTag();" />
function addTag() {
if ($("#tag").val() != "") {
$("#lblContainer").append('$("#tag").val()' + '<br />');
$("#tag").val("");
}
}
答案 0 :(得分:2)
Asp.Net无法正常工作,因为在提交表单时,它不会在HTTP Post中发送<span>
标记的内容。您需要将该内容添加到某种<input>
。尝试这样的事情。
<span id="tagContainer" runat="server"></span>
<input type="text" name="tag" id="tag" />
<input type="button" name="AddTag" value="Add" class="button" onclick="addTag();" />
<!-- Use a hidden field to store the tags -->
<asp:HiddenField id="tagText" runat="server" />
function addTag() {
var newTag = $.trim($("#tag").val());
if (newTag != "") {
$("#tag").val("");
$("#tagContainer").append(" "+ newTag);
// append the newTag to the hidden field
var $tagText = $("#tagText");
$tagText.val($tagText.val() + " " + newTag);
}
}
然后在您的asp.net代码中,您可以像这样检索值。
string myTagText = tagText.value;