在Repeater控件内部这样写<% if (DataBinder.Eval(Container.DataItem, "State").ToString() == "0")
{
Response.Write("已处理");
}
else
{
Response.Write("未处理"); }
%>
这样用的话,会报“当前上下文中不存在名称“Container”
然而改成条件表达式<%#DataBinder.Eval(Container.DataItem,"State").ToString()=="0"?"已处理":"未处理" %>则可以正常输出。然而 #一定要和 DataBinder.Eval(Container.DataItem,"State") 在一起用吗?我做了这样一个测试<% "你好" %>报错<%#"你好" %> 输出字符串你好
也就是说#只和输出有关,跟DataBinder没有直接联系<%#DataBinder.Eval(Container.DataItem,"State").ToString()=="0"?"已处理":"未处理" %>处理的最后结果是 <%#"已处理"%>或<%#"未处理"%>那么可以证明#跟DataBinder没有直接联系.所以第一种形式 if (DataBinder.Eval(Container.DataItem, "State").ToString() == "0") 为什么会报“当前上下文中不存在名称“Container”错误呢
{
Response.Write("已处理");
}
else
{
Response.Write("未处理"); }
%>
这样用的话,会报“当前上下文中不存在名称“Container”
然而改成条件表达式<%#DataBinder.Eval(Container.DataItem,"State").ToString()=="0"?"已处理":"未处理" %>则可以正常输出。然而 #一定要和 DataBinder.Eval(Container.DataItem,"State") 在一起用吗?我做了这样一个测试<% "你好" %>报错<%#"你好" %> 输出字符串你好
也就是说#只和输出有关,跟DataBinder没有直接联系<%#DataBinder.Eval(Container.DataItem,"State").ToString()=="0"?"已处理":"未处理" %>处理的最后结果是 <%#"已处理"%>或<%#"未处理"%>那么可以证明#跟DataBinder没有直接联系.所以第一种形式 if (DataBinder.Eval(Container.DataItem, "State").ToString() == "0") 为什么会报“当前上下文中不存在名称“Container”错误呢
解决方案 »
- 如何动态创建repeter控件,每次显示从不同的表查到的数据
- 内容页添加一个新的asp控件,发生的奇怪现象
- 关于aspnetpager在傲游浏览器运行的问题
- 大家帮我看看是不是服务器速度太慢了
- 为什么自定义控件没能接受参数
- 如何实现客户端关闭或退出后执行某一操作,急盼回复,3Q!!
- asp.net 自定义表单
- word转换成html文件成功了,但用VB语言写word进程退不了,而C#却行,4个多小时过去了...
- 我的asp.net 不能调试了!!
- 高难度问题:在上传一份HTML文件时,怎样把与之相关的图片文件同时上传?(希望能同时,而不用再一张张图片来上传)
- 关于gridview中chkbox控件返回所选中的值的问题
- 请问能否在网页中判断postback是什么控件引起的?
<%="你好"%><%#%>是数据控件绑定的时候用
<% if (DataBinder.Eval(Container.DataItem, "State").ToString() == "0")
至于你这里DataBinder,这个本来就是要加#才可以使用的
<%{%>
<% Response.Write("已处理");%>
<% }%>
<% else%>
<% {%>
<% Response.Write("未处理");%>
<% }%>
看你说,不懂就问,还装懂
还有,你直接在页面中输出试试<%#"你好" %>,不跟数据源控件一起使用能用?