从 ASP 标签控件中读取文本(由 jquery 填充)
Posted
技术标签:
【中文标题】从 ASP 标签控件中读取文本(由 jquery 填充)【英文标题】:Read text from ASP Label Control (populated by jquery) 【发布时间】:2019-10-23 05:56:40 【问题描述】:<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#)时,它返回一个空字符串。谁能解释这是为什么?
【问题讨论】:
【参考方案1】:标签的文本/值不包含在回发负载数据中。
您必须将数据存储在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;
// ...
【讨论】:
以上是关于从 ASP 标签控件中读取文本(由 jquery 填充)的主要内容,如果未能解决你的问题,请参考以下文章
JQuery datepicker() 由 ASP.net 中的 CSS 类动态创建 TemplateFields
ASP + Jquery 从 Gridview 聚焦下一个文本框