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; width: 100%;
height: 1000px; background-color: #0060C0; filter: alpha(opacity=20); text-align: center;">
<img src="http://www.cnblogs.com/App_Themes/Default/resources/images/default/blue-loading.gif" />
</div>
document.getElementById("fadeDiv").style.display = "block";//显示
document.getElementById("fadeDiv").style.display = "none";//隐藏
<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值)