zoukankan      html  css  js  c++  java
  • 数据绑定控件之绑定项

    在Asp.net页面我们会使用html控件,web控件,同样在数据绑定控件中,我们也可以这样使用,使用web控件的目的是为了在后台触发事件或者在后台使用,html控件就是没必要再后台触发事件或者使用的,这个是很好选择,可以根据自己的需要选择控件

    使用html控件我们可以直接在上面触发js事件或者相关的布局,web控件可以直接通过rowCommand或者其他方式在后台触发事件,或者在后台直接使用,如果想触发js的事件可以使用onclientClick,如果没有onClientClick,可以触发数据源绑定控件的DataBound事件,通过arribute.add来实现

    总之,可根据需要选择适合的控件就可以了,现在来看一下在绑定的时候需要注意的几点

    1、  无论是html控件还是web空间都可以<%#eval_r("MessageNo") %>绑定控件

    能使用html控件或者标签最好使用html控件,比如超链接,hyperlink,我们可以使用<a href=””></a>  <a href="Reply.aspx?no=<%# eval_r("MessageNo") %>">回复咨询</a>

    2、  

    3、  绑定的时候如果有需要判断,假如从数据库里读取数据,如果有,则在页面显示出来,否则就不现实,我们可以在后台写一个方法判断一下,然后再前台调用就可以了,如

    <img  id="img1"  value='<%# GetImg(eval_r("MessageNo").Tostring()) %>' />

    后台:

    Public string GetImg(string img)

    {

       If(img!=””)

    {

         Return img;

    }

    Return “暂无栏目图片”;

    }

    或者我们也可以直接使用条件表达式

    <%# eval_r("ClassImage").ToString()==""?"暂无栏目图片":eval_r("ClassImage") %>

    4、  我们知道事件的发生都是通过委托完成的,平常我们双击就可以直接获得了一个书写事件的方法,就像我们触发RowCommand事件一样,通过commandName来判断点击的是哪个按钮,这个我们都知道,但是大家有没有想过,如果该控件,比如说按钮不在行内,而在头部,那么在触发RowCommand好像就不行了,所以我们可以先在后台书写方法的格式写一个方法,然后再页面中我们触发一个事件,比如onclick事件,然后调用刚写的的方法,这样的也可以的,就是因为数据绑定控件无法双击按钮触发事件,所以使用了rowcommand,现在我们知道了也可以不用使用它了,看一个例子:

               <td height="20">

                                    <img src="../images/edt.gif" width="16" height="16" />

                                    <a href="Reply.aspx?no=<%# eval_r("MessageNo") %>">回复咨询</a>&nbsp; &nbsp;<img src="../images/del.gif"

                                        width="16" height="16" /><asp:LinkButton ID="linkDelete" runat="server" CommandArgument='<%# eval_r("MessageNo") %>'

                                            OnClick="linkDelete_Click" OnClientClick="return confirm('你确定要删除此条留言信息吗??')">删除</asp:LinkButton>

                        </td>

                    </tr>

                </ItemTemplate>

     

    后台:

        protected void linkDelete_Click(object sender, EventArgs e)

        {

            LinkButton linkDelete = (LinkButton)sender;

            if (linkDelete != null)

            {

                int Messageno = Convert.ToInt32(linkDelete.CommandArgument);

                BLL.Message.Delete(Messageno);

                this.M_RepeatertBind((string)ViewState[vsKey]);

            }

    }

    5、绑定的时候要注意格式'<%#eval_r("MessageNo") %>',如果我们绑定的是DataSet,那么引号内字符串对应的就是表中字段,如果绑定的是Ilsit泛型集合,那么它对应的就是集合类中的属性

    多思考,多创新,才是正道!
  • 相关阅读:
    CentOS安装配置
    扩展多线程应用程序 CLR 和 线程
    OEA体验 :元数据编写
    字符串的逆序之旅
    学习之响应式Web设计:Media Queries和Viewports
    Windows Azure Virtual Machine Role (4) 在VHD中安装需要的功能
    java开发web service快速入门(视频)
    淘宝技术发展(Java时代:脱胎换骨)
    Contoso 大学 使用 EF Code First 创建 MVC 应用
    负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念网络基础
  • 原文地址:https://www.cnblogs.com/shuang121/p/1970428.html
Copyright © 2011-2022 走看看