首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在标记中使用if条件内的值

在标记中使用if条件内的值
EN

Stack Overflow用户
提问于 2012-06-20 18:50:34
回答 3查看 8.5K关注 0票数 2

我希望在if语句中使用从SQL中提取的值。理想情况下,我想做的等同于

代码语言:javascript
运行
复制
<% If DataBinder.Eval(Container, "DataItem.BookID") == 1 Then%>

有没有一种方法可以用正确的语法做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2012-06-20 18:59:24

这就是在aspx文件中放置条件的方式。根据我的理解,这只是一个粗略的样本:

代码语言:javascript
运行
复制
<%# System.Convert.ToInt32((DataBinder.Eval(Container.DataItem, "BookID")!="") ? DataBinder.Eval(Container.DataItem, "BookID"):0) %>

确保在BookID中有int类型,而不是任何其他类型。

进一步解释:

如果你想要有一个if else条件:

代码语言:javascript
运行
复制
<%# If DataBinder.Eval(Container.DataItem, "DATAFIELD") <> "" Then

   Response.Write("something")

End If %> // This is invalid 

上面语句可以在aspx文件中正确地,如下所示:

代码语言:javascript
运行
复制
<%# DataBinder.Eval(Container.DataItem, "DataField").Equals("")?"":"Something"%>
票数 2
EN

Stack Overflow用户

发布于 2012-06-29 10:22:16

我不确定这是否可以做到,或者不是你所要求的方式。

您可能知道,也可能不知道,执行此操作的典型方法是在标记中包含一个控件,如下所示

代码语言:javascript
运行
复制
<asp:listView ID="SophiesListView" ...
..
<ItemTemplate>
<asp:HyperLink ID="hlGlossary" title="click here for more information" target="_blank" runat="server" />
</ItemTemplate>
</asp:listView />

然后,在代码后台中,找到您的列表视图/中继器/数据网格或您拥有的内容,并选择ItemDataBound。在此事件中,执行以下操作:

代码语言:javascript
运行
复制
If e.Item.DataItem("vehicleType") IsNot DBNull.Value AndAlso e.Item.DataItem("vehicleType") = "JETSKI" Then
    DirectCast(e.Item.FindControl("hlGlossary"), HyperLink).NavigateUrl = "Glossary.aspx#JETSKI"
    DirectCast(e.Item.FindControl("hlGlossary"), HyperLink).Text = "?"
End If
票数 0
EN

Stack Overflow用户

发布于 2012-06-20 21:05:47

要使页面逻辑尽可能简单,最好的办法是将数据绑定到控件的Visible属性。例如,如果您希望在BookID == 1的情况下仅显示一些html,则在数据源上创建一个新属性,如下所示

代码语言:javascript
运行
复制
public bool Show
{
     get
     {
         return BookID == 1;
     }
}

在你的页面上你会看到

代码语言:javascript
运行
复制
<asp:Placeholder runat="server" Visible='<%# Eval("Show") %>'>
    ...html goes here...
</asp:Placeholder>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11117962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档