如何从 asp:panel 获取文本属性

发布于 2024-11-09 03:32:37 字数 671 浏览 3 评论 0原文

可能是一个简单的问题,但我已经浏览了 30 分钟,但仍然找不到解决方案!

我有一个面板,它有一个属性 text="something"。但面板类似乎没有 getAttribute 方法...我个人认为这是愚蠢的!

代码如下:

foreach (Control c in clientGrid.Controls)
{
    if (c.GetType().ToString().Equals("System.Web.UI.WebControls.Panel"))
    {
        /*Something*/ textInsidePanel = ((Panel)c)./*Somthing*/              
    }
}

现在我尝试了 AttributeCollection text = ((Panel)c).Attributes;

string text = ((Panel)c).Attributes.toString();

和其他无用的东西......

这应该非常简单!当我检查 chrome 上的元素时,我可以看到面板(以及 div),并且我可以看到那里的文本属性。我可以看到它的价值!但我希望我的 C# 代码具有价值!

请帮忙!

亚历克斯

Probably a simple question, but I've been browsing now for 30 mins and STILL cant find a solution!

i have a panel and it has an attribute text="something". but the panel class does not seem to have a getAttribute method... Which personally, I think is STUPID!

Code follows:

foreach (Control c in clientGrid.Controls)
{
    if (c.GetType().ToString().Equals("System.Web.UI.WebControls.Panel"))
    {
        /*Something*/ textInsidePanel = ((Panel)c)./*Somthing*/              
    }
}

Now i've tried AttributeCollection text = ((Panel)c).Attributes;

and

string text = ((Panel)c).Attributes.toString();

and other useless things...

This should be really simple! when i inspect element on chrome, I can see the panel, (well the div) and i can see the text attribute right there. and i can see its value! but i want my c# code to have the value to!!

Please Help!

Alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

时光清浅 2024-11-16 03:32:37

如果我答对了你的问题 - 你可以使用下一个代码

asp 部分

<asp:Panel runat="server" ID="pnl" Text="hello world"></asp:Panel>

c# 部分 -

string s = pnl.Attributes["Text"];

if I get you question right - you can use next code

asp part

<asp:Panel runat="server" ID="pnl" Text="hello world"></asp:Panel>

c# part -

string s = pnl.Attributes["Text"];
网白 2024-11-16 03:32:37

您是否尝试过使用访问器?:

string val = YourPanel.Attributes["Text"];
//                                   ^ that's your attribute name

这应该获得属性的值但是我很确定您正在做的事情是不可能的,因为属性值在回发之间不会保留(至少在通过设置时不会保留)客户端脚本)。为此,您应该使用隐藏输入或其他一些表单元素。

Have you tried using an accessor?:

string val = YourPanel.Attributes["Text"];
//                                   ^ that's your attribute name

That should get the attribute's value BUT I'm pretty sure what you are doing isn't possible as attribute values are not persisted between postbacks (at least not when set via a client script). To do that you should use hidden inputs or some other form element.

浪荡不羁 2024-11-16 03:32:37

Panel 控件本身没有文本属性。但是,如果您将内部文本作为 LiteralControl 访问,它将起作用:

var panelContent = ((Panel)c).Controls[0] as LiteralControl;
var text = panelContent.Text;

The Panel control itself doesn't have a text property. But if you access the inner text as a LiteralControl it will work:

var panelContent = ((Panel)c).Controls[0] as LiteralControl;
var text = panelContent.Text;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文