我只需要在页面的前端有一个变量。我正在努力实现这样的目标:
<% bool YesNo = Eval("isParent") == "True" ? true : false %>
数据绑定不允许我这样做
有没有人知道解决这个问题?
感谢您的所有答案,我没有尝试查找bool值,而是将If返回为文本true或false并且绕过它。(使用控件属性和css类)
我的解决方案
Visible='<%#(string)Eval("isParent") == "True" ? false : true %>'
class="<%#(string)Eval("isParent") == "True" ? "LegendHeader" : "" %>"
我这样做的原因是因为数据绑定到特定字段,正如Vladimir Sachek所提到的,如果你按照我想要的方式进行操作,则必须循环数据并相应地设置变量< / p>
答案 0 :(得分:0)
试
var YesNo = <%= Eval("isParent").ToString() %> == "True"
答案 1 :(得分:0)
尝试类似
的内容<% bool YesNo(Eval("isParent").toString()) %>
YesNo是代码隐藏的方法。喜欢以下
public bool YesNo(string sIsParent)
{
if(sIsParent.equals("1")){ return true; } else { return false; }
}
答案 2 :(得分:0)
它给了我错误数据绑定方法,如Eval(),XPath()和 Bind()只能在数据绑定控件的上下文中使用。
您只能在Repeater,GridView和类似控件中使用Eval
。这是因为Eval
使用当前数据项来检索请求的属性(&#39; IsParent&#39;)
答案 3 :(得分:0)
使用 DataBinder.Eval ,并指定您从中获取数据的模型
<% bool YesNo = DataBinder.Eval(new{isParent = "True"}, "isParent") == "True" ? true : false; %>
<%= YesNo %>