ASP.NET项目笔记(一)

1. DataTable的深拷贝及浅拷贝

  假设已知一个DataTable对象table。

DataTable copyDataTable;   
copyDataTable = table.Copy();//深拷贝,复制该DataTable的结构和数据。  
copyDataTable = table;//浅拷贝,复制的是引用。 

2. DataTable的去重复

  假设已知一个DataTable对象table。它有三列,分别为:column1,column2,column3。且该DataTable的数据不是从数据库中获取的。那么,怎么去除该DataTable中重复的数据呢?

  方法如下:

DataView dataView = new DataView(table);   
DataTable dataTable = dataView.ToTable(true, new string[] { "column1", "column2", "column3" }); 

3. 获取已设置成readonly的服务器控件的Text值

  以TextBox为例,例如:<asp:TextBox ID="txtInfo" runat="server" ReadOnly="true"></asp:TextBox>,虽然可以通过JS对该控件赋值,但是在页面的.CS文件txtInfo.Text的值始终为空字符串。

  解决办法:

  不使用服务器控件的ReadOnly属性来实现,而是在Page_Load中使用txtInfo.Attributes["readonly"] = "true";实现readonly,再使用txtInfo.Text就能获取到Text的值。

4. 如何实现页面加载时的变黑效果

  方法1:使用jQuery的blockUI Plugin

  方法2:使用如下HTML,然后结合JS控制其显示。

  HTML+CSS实现该效果的代码:   

<div id="fadeDiv" style="z-index: 100; position: absolute; display: none;  100%;
  height: 1000px; background-color: #0060C0; filter: alpha(opacity=20); text-align: center;">
  <img src="http://www.cnblogs.com/resources/images/default/blue-loading.gif" />
</div>
  JS方法: 
document.getElementById("fadeDiv").style.display = "block";//显示 
document.getElementById("fadeDiv").style.display = "none";//隐藏 
5. 获取下拉框(Select)选中的值(value和text)
  select服务器控件:  

  <select id="Select1" runat="server">
    <option value="1" selected="selected">一</option>
    <option value="2">二</option>
  </select>

  C#方法:

string strValue = Select1.Value;//值为"1"(即value值)
string strText = Select1.Items[Select1.SelectedIndex].ToString();//值为"一"(即text值)

  JS方法:

var selectObj=document.getElementById("Select1"); 
var strValue= selectObj.value;//值为"1"(即value值)
var strText=selectObj.options(selectObj.selectedIndex).text;//值为"一"(即text值)

  jQuery方法:

$("#Select1").val();//值为"1"(即value值)
$("#Select1 option:selected").val();//值为"1"(即value值)
$("#Select1>option:selected").get(0).text;//值为"一"(即text值)
原文地址:https://www.cnblogs.com/xuezhizhang/p/1704308.html