ASP.NET: преобразование XPath в bool - возможно?

Привет!

У меня есть значение XML, которое я хотел бы использовать в качестве логического значения для переключения видимости панели. У меня примерно так:

<asp:FormView id = "MyFormView" runat = "server" DataSourceID = "MyXmlDataSource">
    <ItemTemplate>
        <!-- some stuff -->
        <asp:Panel id = "MyPanel" runat = "server" Visible='<%# (bool)XPath("Menu/Show") %>'>
        </asp:Panel>
        <!-- some more stuff -->
    </ItemTemplate>
</asp:FormView>
<asp:XmlDataSource id = "MyXmlDataSource" runat = "sever" DataFile = "MyFile.xml" />

Однако это вызывает исключение. Я попытался установить значение Show в моем XML на «true», «True», «0», но безрезультатно. Это вообще возможно? Мой XPath определенно работает, потому что я попытался переместить <% # (bool) XPath ("Menu / Show")%> наружу, чтобы я мог видеть его значение, и оно было правильным. Я пробовал это:

<%#((bool)XPath("Menu/Show")).ToString() %>

Но это также вызывает исключение.

Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
669
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Попробуйте <%#(Convert.ToBoolean(XPath("Menu/Show"))) %>

Попробуй это:

Не уверен в синтаксисе равенства строк в классическом ASP, но вам нужно выполнить сравнение строк, а затем вернуть true или false.

... Visible = '<% # XPath ("Меню / Показать")). ToString (). Equals ("0")? вернуть истину: ложь%> '...

Ответ принят как подходящий

если xpath возвращает строку, разве вы не хотите использовать Boolean.Parse (XPath ("Menu / Show"))

Можно ли использовать Boolean.TryParse ()?

Bullines 09.12.2008 04:57

TryParse вернет true, если сможет его проанализировать, а не если значение, которое он проанализировал, было истинным.

Mark Brackett 09.12.2008 06:07

Как можно использовать TryParse из <% #%>?

Bullines 09.12.2008 17:42

Еще один:

System.Xml.XmlConvert.ToBoolean()

Допустимые строки: «1» или «истина» для правда и «0» или «ложь» для ложный.

Получу ли я бонусные баллы за самый непонятный способ преобразования в логическое значение?

Visible = '<% # (XPath ("Меню / Показать")) как строка == "1"? истина: ложь%> '

остерегайтесь нулевого исключения. Используйте "как строку" вместо .ToString ()

Другие вопросы по теме