在这周之前,我从来没有写过一点 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/