如何根据数据库中某个字段的值来控制最后显示在用户界面上的内容

nbshiny 2007-06-16 07:52:02
请教你一个问题,asp.net里面把逻辑跟显示区别开来了,但是比如我现在要实现这样一个功能,您说该怎么实现,比如我在控制逻辑的aspx.cx里设置相应的数据源,然后在显示的aspx上设置相应数据源中的数据的显示位置,但是比如我要利用数据源里的相关数据作出判断,然后来控制相应的aspx上的显示结果,比如我获取到某一个字段的值是0,那么我在显示给用户的页面上显示可以增加,并有相应的链接,当获取到的字段的值是1,那么我在显示给用户的页面上显示的是浏览,并提供相应的链接,当然最后显示给用户的是多条的记录,而不仅仅是一条,你说该怎么实现?
asp以前就是通过在显示页面中通过if then else来控制的,但我不知道aspx.cs这里,逻辑和表示层分开来,我不知道这里的if then else该放在哪里,我刚刚把他放在表示层,发现提示错误,
<td>
<%# if (DataBinder.Eval(Container.DataItem, "auditflag")==0)
%>
内容不完整
<%else if (DataBinder.Eval(Container.DataItem, "auditflag")==1)
%>
待审核
<%else if (DataBinder.Eval(Container.DataItem, "auditflag")==2)
%>
审核未通过
<%else if (DataBinder.Eval(Container.DataItem, "auditflag")==3)
%>
审核通过
 </td>
你看问题处在哪里,谢谢。
...全文
310 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nbshiny 2007-07-07
  • 打赏
  • 举报
回复
也算不上是个权限的问题吧。
lishijie910123 2007-07-07
  • 打赏
  • 举报
回复
这应该是一个权限的问题吧
nbshiny 2007-07-07
  • 打赏
  • 举报
回复
<td> <a href='<%# "http://www.XXX.com/details.aspx?id=" + (DataBinder.Eval(Container.DataItem, "你想连接的字段")'> <%# GetText(DataBinder.Eval(Container.DataItem, "auditflag").ToString()) %> </a></td>
你好,如果我根据这个auditflag的值来判断是显示“增加”还是显示“查看”,我可以通过gettext()方法来判断相应的该在页面上显示的是增加呢还是查看,但是增加或者查看链接到的是不同的地址,而不仅仅像你代码里说表明的不管内容显示什么,链接的页面都是同一个,这个怎么实现呢?
nbshiny 2007-06-17
  • 打赏
  • 举报
回复
你所说的具体控制显示字符是在aspx.cs来实现,那么如果这里,我除了要实现根据不同的auditflag来显示不同的文本以外,我还要在这些文本之上增加相应的href连接,而且这里连接上又会连接到其他的变量什么的,那又该怎么做呢,谢谢。
Jinglecat 2007-06-17
  • 打赏
  • 举报
回复
asp.net 没入门~
Jinglecat 2007-06-17
  • 打赏
  • 举报
回复
来晚了~
贴个复杂点...

<ItemTemplate>
<asp:HyperLink ID="HyperLink1" NavigateUrl='<%# String.Format("Javascript:window.open(\"Show.aspx?eid={0}&cid={1}\");void(0);", Eval("ProductID"), Eval("CategoryID")) %>' runat="server"><%# Eval("ProductName") %></asp:HyperLink>
</ItemTemplate>
amandag 2007-06-17
  • 打赏
  • 举报
回复
<td> <a href='<%# "http://www.XXX.com/details.aspx?id=" + (DataBinder.Eval(Container.DataItem, "你想连接的字段")'> <%# GetText(DataBinder.Eval(Container.DataItem, "auditflag").ToString()) %> </a></td>
amandag 2007-06-16
  • 打赏
  • 举报
回复
前台 aspx
<td> <%# GetText(DataBinder.Eval(Container.DataItem, "auditflag").ToString()) %> </td>

后台aspx.cs
protected string GetText(string auditflag)
{
switch(auditflag)
{
case 0: return "内容不完整";
case 1: return "待审核";
case 2: return "审核未通过";
case 3: return "审核通过";
}
return string.Empty;
}

amandag 2007-06-16
  • 打赏
  • 举报
回复
你用的是asp的思维,asp.net的方法不是这样做的

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧