c#中的Eval的数据绑定
https://zhidao.baidu.com/question/555850761.html
https://blog.csdn.net/u010032648/article/details/36438227
绑定方法:
比如你有个方法返回了一个集合(此集合是从数据库查出来的)。假设是获取用户UserManager.GetUser(),然后绑定Gridview的数据源 Gridview.DataSource = UserManager.GerUser(); Gridview.DataBind();
此时就可以使用Eval绑定了,比如你在aspx页面有个lable控件,你要绑定显示数据源中的某属性 ,比如用户的Name,你就在这个lable控件的Text上写 Text='<%# Eval("Name")%>' 就可以了 ,注意区分单引号和双引号。如果你是要跳转到某个页面, 但是要加上用户编号作为URL的参数, 比如编辑用户1号就跳转到 UserEdit.aspx?id=1那也可以绑定 ,把代码改成这样 Url='<%# Eval("id","UserEdit.aspx?id={0}")%>' ,其中第二个参数是站位符 ,第一个是站位符的值这样就能动态的实现跳转了。
1.绑定后台在数据控件上绑定的单个数据 : 用的是<%# Eval("") %> 这种格式
2.需要在数据上加一些其他的东西,比如字符串等,<%#string.Format("{0:粮食局地方了开始大家发生了地方}",Eval(""))%>
也可以用Eval自带的格式: NavigateUrl='<%#Eval("Id","~/Project/ProjectTicketList.aspx?proId={0}") %>'
可以直接加载后面:href='../Project/userTicketList.aspx?devuser_Id=<%#Eval("Id") %>'
3.当要绑定后台的方法,并在方法中传入绑定的数据时:<%#BindStatus((int)Eval("Id")) %> , 一定要用#,不能用=好,否则会报“Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。”这个错误。
4.绑定一个变量或方法时,方法不用传入参数:<%=str %>;