ASP.NET: приведение XPath к bool - возможно? - PullRequest
0 голосов
/ 09 декабря 2008

Привет!

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

<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() %>

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

Спасибо.

Ответы [ 5 ]

1 голос
/ 09 декабря 2008

Еще один:

System.Xml.XmlConvert.ToBoolean()

Допустимые строки: "1" или "true" для true и "0" или "false" для false .

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

1 голос
/ 09 декабря 2008

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

1 голос
/ 09 декабря 2008

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

0 голосов
/ 21 августа 2009

Visible = '<% # (XPath ("Menu / Show")) как строка == "1"? true: false%> '

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

0 голосов
/ 09 декабря 2008

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

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

... Visible = '<% # XPath ("Menu / Show")). ToString (). Equals ("0")? вернуть true: false%> '...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...