<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
var items = [];
$.each($("input[name]:checked"), function() {
items.push($(this).val());
});
//alert("You entered: " + items.join(", "));
if (items.length === 0) {
$('#<%=Label1.ClientID%>').html("No data to display.");
} else {
items = items.join(", ");
$('#<%=Label1.ClientID%>').html("You selected the following options: " + "<br />");
$('#<%=txtTestVar1.ClientID%>').html(items);
}
});
});
</script>
<button type="button" runat="server">Update Choices <i class="fas fa-retweet"></i></button>
<br />
<br />
<asp:Label runat="server" ID="Label1"></asp:Label>
<asp:Label runat="server" ID="txtTestVar1"></asp:Label>
protected void btnSave_Click(object sender, EventArgs e) { lblNotification.Text = txtTestVar1.Text.ToString(); }
我使用Jquery在html页面上填充了一个标签,效果很好。但是,当我尝试从刚刚填充的标签(通过使用后面的代码-c#)读取时,它返回一个空字符串。有人可以解释为什么吗?
答案 0 :(得分:0)
标签的文本/值不会包含在回发有效载荷数据中。
例如,您必须将数据存储在HiddenField
(或TextBox
)中,而不是Label
中。
<asp:HiddenField runat="server" ID="txtTestVar1"></asp:HiddenField>
并在客户端通过jQuery val
而不是html
设置数据。
$('#<%=txtTestVar1.ClientID%>').val(items);
在服务器端,您可以通过隐藏字段Value
属性获取值。
protected void btnSave_Click(object sender, EventArgs e)
{
var value = this.txtTestVar1.Value;
// ...
}