asp.net - 检查 ASP Repeater 控件中的空数据库值

标签 asp.net database repeater

在这周之前,我从来没有写过一点 ASP.NET,所以请放轻松。

我有一个显示来自数据库的图片的 ASP.NET 页面。我创建了一个 SqlDataReader 并将转发器绑定(bind)到这个阅读器。该页面显示一个包含三列的表格:图片的缩略图(来自数据库的路径)、拍摄照片的相机名称(来自数据库)以及关于图片的评论。

当我将图片上传到数据库时,评论将为空。我希望表格显示评论(如果评论存在),或者如果评论字段在数据库中为空,则显示一个 ASP 文本框和按钮供用户输入关于图片的评论。

事实证明,这并不像我想象的那么容易。谁能给我建议:

A) 确定该行的“评论”列是否为空的显式测试

B) 如何有条件地显示文本或文本框/按钮组合(文本框具有来自数据库“ID”列的 id)

我相信我有能力编写按钮单击处理程序以使用评论更新数据库...如果我可以显示它的话。

非常感谢,我保证以后会拒绝 ASP.NET 项目!

最佳答案

由于您处于数据绑定(bind)上下文中,因此您可以在占位符(或与此相关的任何其他控件)的可见属性上使用数据绑定(bind)表达式。

<asp:PlaceHolder runat="server" visible='<%# Convert.IsDbNull( Eval("comment") )%>'>
  <asp:TextBox ID="txtNewComment"... />
  <asp:Button ... />
</asp:PlaceHolder>

not null,只要在“Convert”前面打一个感叹号,不为null就显示出来。

至于点击处理程序,因为“发送者”将是按钮,你总是可以做一个简单的

((Button)sender).Parent.FindControl("txtNewComment")

你有你的文本框。

关于asp.net - 检查 ASP Repeater 控件中的空数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365285/

相关文章:

asp.net - Chrome 将用户名自动填充到随机文本输入中

c# - 从网站将联系人保存到手机

javascript - 是否可以从 JavaScript 访问 SQLite 数据库?

database - 电子邮件数据库架构

Android,运行时查看SQLite数据库(不像其他题)

asp.net - 中继器中的复选框控件不维护状态

asp.net - 带有 Eval 的中继器的 SeparatorTemplate

c# - 如何使用转发器显示 session 中的成员?

asp.net - 我怎样才能提高网站上嵌入的谷歌地图的加载速度?

c# - asp.net 下拉列表 findbytext