как получить текстовый атрибут из панели asp: - PullRequest
3 голосов
/ 24 мая 2011

Вероятно, это простой вопрос, но я просматриваю его в течение 30 минут, и все еще не могу найти решение!

У меня есть панель, и у нее есть атрибут text = "нечто".но класс панели, кажется, не имеет метода getAttribute ... Который лично, я думаю, является ГЛУПОМ!

и

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

и другие бесполезные вещи ...

Это должно быть действительно просто!когда я проверяю элемент в Chrome, я вижу панель (хорошо div) и вижу текстовый атрибут прямо там.и я вижу его ценность!но я хочу, чтобы мой код c # имел значение !!

Пожалуйста, помогите!

Alex

Ответы [ 3 ]

4 голосов
/ 24 мая 2011

если я правильно понял вопрос - вы можете использовать следующий код

часть asp

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

c # часть -

string s = pnl.Attributes["Text"];
2 голосов
/ 24 мая 2011

Вы пытались использовать аксессор?:

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

Это должно получить значение атрибута НО Я почти уверен, что вы делаете это невозможно, так как значения атрибутане сохраняется между постбэками (по крайней мере, если это установлено клиентским скриптом).Для этого следует использовать скрытые входные данные или какой-либо другой элемент формы.

0 голосов
/ 24 мая 2011

Сам элемент управления Panel не имеет текстового свойства. Но если вы обращаетесь к внутреннему тексту как к LiteralControl, он будет работать:

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