在ASP.NET中,我可以使用<%#Bind%>要实现双向数据绑定,那么数据源控件可以为我完成更新功能。
但是,我认为只显示简单格式,例如
,这很容易<%# Bind("InsertDate") %>
但是,如果我想在InsertDate不存在时显示'N / A'。然后如何使用&lt;%#Bind%&gt;实现条件检查?
我知道Bind函数支持格式字符串,比如
<%# Bind("InsertDate", "0:{dd MMM yyyy}") %>
但它无法根据InsertDate的内容更改格式。
我甚至尝试使用:
<%# FormatString(Bind("InsertDate").ToString()) %>
似乎无效,通常适用于Eval功能。
另一个例子是我在表中有一个按位列(如5),它由ListView控件包装的checkboxlist表示,如
<asp:checkboxlist>
<asp:ListItem value="1" text="OptionA">
<asp:ListItem value="2" text="OptionB">
<asp:ListItem value="4" text="OptionC">
</asp:checkboxlist>
然后如何使用&lt;%#Bind%&gt;实现双向绑定以将按位列绑定到此复选框列表?
目前我所做的是:
在ListView的ItemDataBound事件处理程序中设置checkboxlist的所选项(值)
使用HiddenField并将数据绑定到此隐藏字段 实现双向数据绑定。
在LivtView的ItemUpdating事件处理程序中,我将ListViewUpdateEventArgs的NewValue属性更新为我想要的值。然后EntityDataSource可以正确地执行更新操作。
但我认为这种方法不容易和好。
还有其他更好的方法吗?
答案 0 :(得分:0)
尝试使用公共数据类型。
在代码隐藏中将变量声明为
public string name;
//Do whatever assignment operations to your variable "name"
在您的aspx页面上。你可以称之为
<% Response.Write(name); %>