一、消除数组中的重复项。

    近期在做项目的时候,要求消除数组中的重复项,如过在没有LINQ前,这好像要写个函数还实现这个功能,但有了linq后,这个功能那是相当的简单的啊,如下面的代码:

            Console.ReadLine();

程序执行的结果:4,abce。这样,消除数组中的重复项只需要Array.Distinct().ToArray()就可以实现。Linq这是个好东西啊。

 

    二、Textbox的readonly属性和disabled属性

    在项目中,需要经常用到这两个属性,区别如下:

  1. readonly属性

 代码:<input type="text" value="fisker" onclick="alert(this.value);" readonly />

  输入框只读,不能编辑,同样表单可以获得值。

  3,disabled

 代码:<input type="text" value="fisker" onclick="alert(this.value);" disabled />

  输入框灰色,不能编辑,以用JS改变或获得其值,但提交时并不提交该值。

 

    三、跨页面的传送中的一个问题

    跨页面的传送就是提交窗体(例如Page1.aspx),并把这个窗体和所有控件的值都传送给另一个页面(Page2.aspx)。实现这个功能就是在控件Button上添加属性PostbackUrl即可。

    但是这里需要在点击Button时,首先执行一段javascript代码后,在实现跨页面的传送,直接用Button完不成这个功能,这时候就需要另一个控件LinkButton了,然后再将LinkButton伪装成Button。哈哈。如下面的代码:


                PostBackUrl="~/EmailEdit.aspx" Width="70px">发送邮件</asp:LinkButton>

 

 执行的javaxcript为:


        function getEmailString()
        {
            
var gHiddenFieldEmailAddress;
            gHiddenFieldEmailAddress
=$get("HiddenFieldEmailAddress");
            gHiddenFieldEmailAddress.value
="";
            
            
var elements=document.getElementsByTagName("input");
            
for (var i = 0; i < elements.length; i++) {
               
var e = elements[i];
               
if (e.type == "checkbox" &&  e.checked &&e.id!="checkAll"
                  
if(e.value.trim()!="")
                    gHiddenFieldEmailAddress.value
+=e.value+",";
            }
        }
    
</script>

    但是,还有一个问题是,如何把LinkButton伪装成Button的形状,下面的CSS代码就能解决这个问题:

        #LinkButtonSentEmail
        {
            padding
: 3px;
            border
: 2px outset;
            cursor
: pointer;
            background-color
: #FFFFFF;
            text-align
: center;
            height
: 14px;
            text-decoration
: none;
            color
: #000000;
            clear
: both;
        
}
    </style>

    这样看起来就好像是Button出发的这个跨页面的传送了。 

    以上三个问题是我在做项目的时候遇到的小问题,把它们写下来,感觉不错。 

相关文章: