none
小问题。 RRS feed

  • 问题

  •  protected void LinkButtonTitle_DataBinding(object sender, EventArgs e)
        {
            //截取热门文章内容字数
            LinkButton link = sender as LinkButton;
            if (link.Text.Length > 11)
            {
                link.Text = link.Text.Substring(0, 11) + "...";
            }
        }
    我想问一下加下划线那句是什么意思。
    2009年9月16日 3:17

答案

  •  protected void LinkButtonTitle_DataBinding(object sender, EventArgs e)
        {
            //截取热门文章内容字数
            LinkButton link = sender as LinkButton;
            if (link.Text.Length > 11)
            {
                link.Text = link.Text.Substring(0, 11) + "...";
            }
        }
    我想问一下加下划线那句是什么意思。

    你好  LinkButton link = sender as LinkButton; 这种写法是将sender转换成LinkButton
     LinkButton link = (LinkButton)sender;的区别是,当转换发生错误的时候不会抛出异常而LinkButton link = (LinkButton)sender;则会抛出异常,比如sender不是LinkButton类型时
    一般这样使用:

    LinkButton link = sender as LinkButton;//当转换失败时link为null

    if(link!=null)
    {
    //...
    }

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年9月16日 5:10
    版主

全部回复

  • 将 sender 转换为 LinkButton 
    这种写法同 LinkButton link = (LinkButton)sender;

    知识改变命运,奋斗成就人生!
    2009年9月16日 3:19
    版主
  • protected void LinkButtonTitle_DataBinding(object sender, EventArgs e)
    我还想问一下, LinkButtonTitle_DataBinding(object sender, EventArgs e)中的两个参数分别是什么意思啊。
    2009年9月16日 3:34
  • sender 中事件引发者即你的 LinkButtonTitle, e 是事件的参数
    知识改变命运,奋斗成就人生!
    2009年9月16日 3:38
    版主
  • sender应该是是LinkButton吧?
    LZ,这样截取字符串的操作可通过CSS来做。这样的代码网上都有,你可以搜一下。
    做最好的自己
    2009年9月16日 5:04
  •  protected void LinkButtonTitle_DataBinding(object sender, EventArgs e)
        {
            //截取热门文章内容字数
            LinkButton link = sender as LinkButton;
            if (link.Text.Length > 11)
            {
                link.Text = link.Text.Substring(0, 11) + "...";
            }
        }
    我想问一下加下划线那句是什么意思。

    你好  LinkButton link = sender as LinkButton; 这种写法是将sender转换成LinkButton
     LinkButton link = (LinkButton)sender;的区别是,当转换发生错误的时候不会抛出异常而LinkButton link = (LinkButton)sender;则会抛出异常,比如sender不是LinkButton类型时
    一般这样使用:

    LinkButton link = sender as LinkButton;//当转换失败时link为null

    if(link!=null)
    {
    //...
    }

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年9月16日 5:10
    版主
  • protected void LinkButtonTitle_DataBinding(object sender, EventArgs e)
    我还想问一下, LinkButtonTitle_DataBinding(object sender, EventArgs e)中的两个参数分别是什么意思啊。

    请参考一些事件方面的资料。会有更深的理解!
    2009年9月16日 5:27
  • 你好!
         作为一条推荐的规则,强烈建议您使用这样的形式,可以是代码更加的健壮:
         LinkButton link = sender as LinkButton;

    周雪峰
    2009年9月16日 5:33
    版主
  • protected void LinkButtonTitle_DataBinding(object sender, EventArgs e)
    我还想问一下, LinkButtonTitle_DataBinding(object sender, EventArgs e)中的两个参数分别是什么意思啊。

    第一个参数是控件自身this对象 原本是linkbutton sender 可是为了设计方便  所以改成object 根类  第二个是个普通委托类型
    2009年9月16日 7:25
  • 你好,
    第一个参数是触发事件的对象,也就是LinkButton,上面你进行as类型转换,就是这个意思。也可以(LinkButton)sender.
    第二个参数是这个事件的参数,有点类似于这个LinkButton的口袋,随身携带了一些额外的信息,就会放在这个参数上面。EventArg是标准的参数。
    jon.valett@gmail.com
    2009年9月17日 1:57
    版主