如何从Codebehin获取标签内部文本
本文关键字:标签 内部 文本 获取 Codebehin | 更新日期: 2023-09-27 18:25:18
我有没有runat="server"的html标签控制
是否可以从c#后面的代码中获取内部文本?
标签:
<label id="lblClanName">Text Here</label>
感谢
每次将ASP.Net页面发布回服务器时,都会使用页面中包含的自定义代码(例如对数据库的调用)、HTTP post/get集合(包括ViewState
)、Application
、Cache
、Session
中的任何自定义数据、静态对象等从头开始重新创建页面。
如果该值不存在于任何一个位置,则服务器无法访问该值。从客户端传递数据的一个常见技巧是简单地使用隐藏字段。如果您想要更优雅的东西,可以使用异步AJAX从服务器发送/接收数据。
或者在这种情况下,您可以将runat="server"
添加到asp:Label
中。ViewState
将在回发之间保持该值,但它将不反映客户端所做的更改,除非(再次)以某种方式将数据传回服务器。
请注意,ViewState
通常是一件坏事,因为它实际上使数据的大小增加了一倍(或更多),并且(在我看来)鼓励草率的设计。
我认为你做不到。你可以使用js获取标签,并从后面的代码中调用js方法
简短回答:没有。
要从代码背后访问它,您将至少需要将runat="server"
添加到label
中。这将允许您使用Page.FindControl(字符串).访问它
如果您能够修改前端代码,则首选的方法是使用<asp:Label/>。这将允许您通过在代码后面使用控件的ID,特别是其Text
属性来轻松访问。
您想知道如何解析内部html的字符串值,还是希望您的网页在运行时将文本写入标签?
string labelHtml = "<label id="lblClanName">Text Here</label>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(labelHtml);
string innerText = doc.DocumentElement.InnerText;
为什么你需要标签之间的文本,这是用于实时网页的吗?这听起来更像是一个糟糕的设计,而不是一个要求。