自已整理的C#常用指令

来源:互联网 发布:张予曦淘宝店铺不干了 编辑:程序博客网 时间:2024/05/16 02:04
NET常需使用的語法(禹翔整理)

數字轉換成字串

int count = 10;
Page.Response.Write( count.ToString() );


字串轉數字

String s = "10";
Page.Response.Write( int.Parse(s).ToString() );


格式化年月日

using System.Data.SqlClient;
DateTime dt = DateTime.Now;
DateLabel.Text = dt.ToString("yyy年MM月dd日");



重新導向網頁

Response.Redirect("rightArea.aspx");


開啟視窗

Literal txtMsg = new Literal();
txtMsg.Text += "<script>window.open('ctm07005_1.aspx?FirstDay=" + FirstDay + "&LastDay=" + LastDay + "','網路服務故障紀錄報表',";
txtMsg.Text += "'scrollbars=no,resizable=no')</script>";
Page.Controls.Add(txtMsg);
==(控制開啟頁重新載入)===========================
Literal txtMsg = new Literal();
txtMsg.Text = "<script>window.opener.location.reload(true);window.location='ctm01001_1.aspx?DNO=" + Request.QueryString["DNO"] + "';</script>
";
Page.Controls.Add(txtMsg);


驗證程式(驗證日期格式[2006/11/01])

using System.Text.Regularex<x>pressions;
bool IsValidDate(string strIn)
{
return Regex.IsMatch(strIn, @"^((([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2})))/x2F(((0[1-9])|(1[0-2]))|([1-9]))/x2F(((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9])))$");
}


驗證程式(是否是正確的email格式)

using System.Text.Regularex<x>pressions;
bool IsValidEmail(string strIn)
{
// Return true if strIn is in valid e-mail format.
return Regex.IsMatch(strIn, @"^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$");
}


驗證程式(驗證資料中是否有數字)(有出現就可以)

String s = TextBox2.Text.ToString();
String p = @"^([0-9]+)";
if (Regex.IsMatch(s, p))
{
Response.Write("yes");
}
else
{
Response.Write("no");
}

驗證程式(驗證資料中是否有數字)(限制都是數字)

String s = TextBox2.Text.ToString();
String p = "^([0-9]+)$"; //或寫"^(//d+)$"
if (Regex.IsMatch(s, p))
{
Response.Write("yes");
}
else
{
Response.Write("no");
}


驗證程式(驗證資料中是否是文字,含0~9,A-Z,a-z和_底線)

String s = TextBox2.Text.ToString();
String p = @"^(/w+)";
if (Regex.IsMatch(s, p))
{
Response.Write("yes");
}
else
{
Response.Write("no");
}


驗證程式(確定起始日期>結束日期,驗證日期欄位為正常的輸入)

if (String.Compare(UcFistDate.Value, UcLastDate.Value) > 0)




顯示訊息框

using System.Windows.Forms;
MessageBox.Show("訊息框內容","訊息框標題");



動態處理網頁中元件的語法(有Master頁時使用)

Label l1 = (Label)Master.FindControl("ContentPlaceHolder1").FindControl("Label1");
l1.Text = "hello";


動態處理網頁中元件的語法(無Master頁時使用)

TextBox t1 = (TextBox)this.FindControl("TextBox2");
t1.Text = "hello";


動態處理網頁中元件的語法(還需要研究的)

TextBox tb = (TextBox)PreviousPage.Master.FindControl("ContentPlaceHolder1").FindControl("TextBox1");

動態產生網頁中的元件


public partial class FlylonTest003 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.TextBox TextBox2;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Set the initial properties for the text boxes.
TextBox1.Text = "TextBox1";
TextBox2.Text = "TextBox2";
}
}

// 覆寫
override protected void OnInit(EventArgs e)
{
// Create dynamic controls here.
// Use "using System.Web.UI.WebControls;"
TextBox1 = new TextBox();
TextBox1.ID = "TextBox1";
TextBox1.Style["Position"] = "Absolute";
TextBox1.Style["Top"] = "25px";
TextBox1.Style["Left"] = "100px";
Form1.Controls.Add(TextBox1);

TextBox2 = new TextBox();
TextBox2.ID = "TextBox2";
TextBox2.Style["Position"] = "Absolute";
TextBox2.Style["Top"] = "60px";
TextBox2.Style["Left"] = "100px";
Form1.Controls.Add(TextBox2);

this.TextBox1.TextChanged += new System.EventHandler(this.TextBox_TextChanged);
this.TextBox2.TextChanged += new System.EventHandler(this.TextBox_TextChanged);
base.OnInit(e);
}

// 文字方塊的動作
private void TextBox_TextChanged(object sender, System.EventArgs e)
{
TextBox txtBoxSender = (TextBox)sender;
string strTextBoxID = txtBoxSender.ID;

switch (strTextBoxID)
{
case "TextBox1":
Label3.Text = "TextBox1 text was changed";
break;
case "TextBox2":
Label4.Text = "TextBox2 text was changed";
break;
}
}
}



直接對資料庫做查詢(Query)

using System.Data.SqlClient;
//取得文件編號
string strsql = "SELECT distinct AREANO FROM ctmBASE WHERE BASENO = '" + dlBASE.SelectedValue + "'";
SqlDataReader sqldr = ctmDBCONN.OpenSQL(strsql);

while (sqldr.Read())
tbDNO.Text = Convert.ToString(sqldr["BASENO"]));
tbDNO.Text += ctmDBCONN.GetDNO(Convert.ToString(sqldr["AREANO"]), "ctmTelApply", "1");

public static SqlDataReader OpenSQL(string strsql)
{
SqlConnection sqlconn = ctmDBCONN.getDBConn();
sqlconn.Open();
SqlCommand sqlcmd = new SqlCommand(strsql, sqlconn);
SqlDataReader sqldr = sqlcmd.ExecuteReader();
return sqldr;
}

==(另一種查詢方式)========================
string strsql = "select PLACE from ctmBASE where SBNO1='" + lbPLACE.Text + "'";
SqlConnection sqlconn = ctmDBCONN.getDBConn();
sqlconn.Open();
SqlCommand sqlcmd = new SqlCommand(strsql, sqlconn);
SqlDataReader sqldr = sqlcmd.ExecuteReader();
while (sqldr.Read())
tbDNO.Text = Convert.ToString(sqldr["BASENO"]));

直接對資料庫做新增(Insert)

// Check SBNO1 Value
string sSQL = "select SBNO1 from ctmBASE where PLACENO = '" + dlPLACE.SelectedValue + "'";
sqldr = ctmDBCONN.OpenSQL(sSQL);
sqldr.Read();

==(或)======================
// Insert DATA to DB
sdsTmp.InsertCommand = "INSERT INTO [ctmTelApply] ([DNO] , [APPLY_DT] , [BASE] , [SBNO1] , [PLACE] , [C_NAME] , [C_TEL] ) " +
"VALUES (@DNO , @APPLY_DT , @BASE , @SBNO1 , @PLACE , @C_NAME , @C_TEL )";
sdsTmp.InsertParameters.Clear();
sdsTmp.InsertParameters.Add("DNO", tbDNO.Text);
sdsTmp.InsertParameters.Add("APPLY_DT", ucAPPLY_DT.Value);
sdsTmp.InsertParameters.Add("BASE", dlBASE.SelectedItem.Text);
sdsTmp.InsertParameters.Add("SBNO1", Convert.ToString(sqldr["SBNO1"]));
sdsTmp.InsertParameters.Add("PLACE", dlPLACE.SelectedValue);
sdsTmp.InsertParameters.Add("C_NAME", tbC_NAME.Text);
sdsTmp.InsertParameters.Add("C_TEL", tbC_TEL.Text);
sdsTmp.Insert();
sdsTmp.DataBind();

DropListBox增加

DropListBox.Items.Add(new ListItem("標題", "預設值"));



NavigateUrl所代表的意思
就像傳統的連結網址出去一樣

直接對資料庫做查詢
string strsql = "SELECT Table1.ID AS ID FROM Table1";
SqlDataReader sqldr = ctmDBCONN.OpenSQL(strsql);
while(sqldr.Read()){
Response.write(sqldr["ID"].ToString());
}

DialogResult確認是否真的要刪除資料
using System.Windows.Forms;
//確認是否真的要刪除資料
DialogResult result = MessageBox.Show("確定要刪除嗎?", "系統訊息(刪除提醒)", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly);
if (result != DialogResult.OK) e.Cancel = true;
MessageBox.Show("刪除成功", "系統訊息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

GridView裡有個RowDataBound事件
RowDataBound事件,是當我們讀資料進GridView時,GridView在讀取每一列資料時
所觸發的事件。透過這個方法,我們可以對特定的幾列做一些條件上的限制
// 控制特定的資料可以編輯,其他的不可編輯
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Enabled = false;
if ((DataBinder.Eval(e.Row.DataItem, "C_NAME") != null) && (Page.Session["username"] != null))
if (DataBinder.Eval(e.Row.DataItem, "C_NAME").ToString() == Page.Session["username"].ToString())
e.Row.Cells[0].Enabled = true;
}
}


GridView裡有個RowDeleting事件
當刪除此列記錄時,會觸發的事件
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if ( MessageBox.Show("確定要刪除此筆資料嗎?", "訊息對話窗", MessageBoxButtons.OKCancel, MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly) == DialogResult.OK) {
} else {
e.Cancel = true;
}
}

GridView,控制GridView中的RadioButton和TextBox

System.Web.UI.WebControls.RadioButtonList check = (System.Web.UI.WebControls.RadioButtonList)GridView1.Rows[i].Cells[0].Controls[0];
System.Web.UI.WebControls.TextBox mytxt = (System.Web.UI.WebControls.TextBox)GridView1.Rows[i].Cells[6].FindControl("txtReason");

GridView,取隱藏欄位的資料
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="SNO" runat="server" Value='<%# Eval("SNO") %>' />
</ItemTemplate>
</asp:TemplateField>
String SNO = ((System.Web.UI.WebControls.HiddenField)GridView1.Rows[e.RowIndex].Cells[7].FindControl("SNO")).Value;

GridView,設定顯示日期的格式
// HtmlEncode="false"一定要設,然後再指定DataFormatString就可以了
// DataFormatString="{0:yyy年MM月dd日}"
<asp:BoundField HtmlEncode="false" DataField="APPLY_DT" HeaderText="申請日期" Sortex<x>pression="APPLY_DT" DataFormatString="{0:yyy年MM月dd日}" />


GridView,取消刪除動作資料
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
e.Cancel=true;
}

GridView,取出查詢後的總筆數
DataView view = GridView1.DataSource as DataView;
int count = view.Table.Rows.Count;

sqlDataSource,直接讓SQL語法做查詢
sqldatasource.SelectCommand = "SELECT * FROM A"
sqldatasource.DataBind();




SqlDataSource,直接下指令要求DataSource執行更新動作
protected void SendApply_Click(object sender, EventArgs e)
{
((System.Web.UI.WebControls.TextBox)FormView1.FindControl("PROGRESS")).Text = "1";
ShowDetail.Update();
}



跳出視窗頁的處理(更新原來的主網頁,然後關閉此跳出視窗)
Literal txtMsg = new Literal();
txtMsg.Text = "<script>window.opener.location='ctm06002_1.aspx?DNO=" + DNO + "';</script>";
txtMsg.Text += "<script>window.close();</script>";
Page.Controls.Add(txtMsg);

整個框架頁都轉回到特定的某一頁

page.Server.Transfer("Login.aspx");

重新導向網頁

MessageBox.Show("系統偵測到您的登入資料未正確(或使用時間過長),/n/n請重新登入系統/n 謝謝~", "通航資系統錯誤訊息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
Response.Redirect("Login.aspx");

控制網頁跳到Frame的最上層
Literal txtMsg = new Literal();
txtMsg.Text = "<script>top.location.href='default.aspx';</script>
";
Page.Controls.Add(txtMsg);



ja<x>vascript控制(畫面置中上面)
<script language="ja<x>vascript">
self.moveTo(screen.availWidth/2-239,0);
self.resizeTo(478,300);
</script>


永遠都會帶著框架
<script language="ja<x>vascript">

</script>




自已寫的基本驗證
// 驗證傳入的參數是否正確
if ((Session["username"] == null) || (Session["username"] == "") || (Session["username"] == "訪客"))
{
MessageBox.Show("系統偵測到您的登入資料未正確(或使用時間過長),/n/n請重新登入系統/n 謝謝~", "通航資系統錯誤訊息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
Master.Response.Redirect("rightArea.aspx");
} else if ( (Request.QueryString["DNO"]==null) || ( Request.QueryString["DNO"]=="")) {
MessageBox.Show("未正確登入此網頁,將跳回", "通航資系統錯誤訊息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
Master.Response.Redirect("rightArea.aspx");
} else if () {

}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
HTML控制項程式
(物件控制元件)---------------------------------------------------------
<html標籤 ID="物件名稱" Runat="Server">
</html>

控制處理(在aspx中)
<Script Language="VB" Runat="Server">
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
物件名稱.Attributes("Text")="White"
物件名稱.Attributes("BgColor")="Black"
物件名稱.Attributes("href")="http://www.kimo.com.tw"
物件名稱.Attributes("Title")="連結到kimo網站"
End Sub
</Script>

InnerText
InnerHTML
Disabled
Visble
Value

(超連結控制元件)---------------------------------------------------------


控制處理(在aspx中)
<Script Language="VB" Runat="Server">
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
物件名稱.Href="http://www.kimo.com.tw"
物件名稱.Target="_blank"
物件名稱.Title="按一下連結到kimo"
End Sub
</Script>

(圖片控制元件)---------------------------------------------------------

<Script Language="VB" Runat="Server">
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
物件名稱.Src=""
物件名稱.Width=""
物件名稱.Height=""
物件名稱.Align=""
物件名稱.Border=""
物件名稱.Alt=""
End Sub
</Script>

(表單控制元件)(Form)---------------------------------------------------------
<Form ID="物件名稱" Runat="Server">
<Script Language="VB" Runat="Server">
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
物件名稱.Action=""
物件名稱.method=""
End Sub
</Script>

(表單控制元件)(Button)---------------------------------------------------------
<Button ID="物件名稱" Runat="Server" OnServerClick="處理事件的副程式名稱">按鍵上的文字</Button>
<Script Language="VB" Runat="Server">
Sub Click_sub(ByVal Sender As Object, ByVal e As EventArgs)
End Sub
</Script>

(表單控制元件)(button,submit,reset)(Text,Password,Hidden))---------------------------------------------------------
<Input Type="按鍵類型(button,submit,reset)(Text,Password,Hidden)" ID="物件名稱" Runat="Server" OnServerClick="處理事件的副程式名稱" Value="按鍵上的文字">
<Script Language="VB" Runat="Server">
Sub Click_sub(ByVal Sender As Object, ByVal e As EventArgs)
Span1.InnerHtml="
資料已傳送到伺服端"
End Sub
</Script>

(表單控制元件)(Radio,CheckBox)---------------------------------------------------------
<Input Type="按鍵類型(Radio,CheckBox)" ID="物件名稱" Name="群組名稱" Runat="Server" Value="按鍵上的文字" Checked>
<Script Language="VB" Runat="Server">
Sub Click_sub(ByVal Sender As Object, ByVal e As EventArgs)
if 物件名稱.Checked then

end if
End Sub
</Script>

(表單控制元件)(TextArea)---------------------------------------------------------
<TextArea ID="" Runat="Server" Rows="列數" Cols="欄數" Wrap(自動換行)>顯示的內容</TextArea>

(表單控制元件)(Select)---------------------------------------------------------
<Select ID="物件名稱" Runat="Server" Size="選單的列數" Multiple>
<Option Value="傳回值" Selected>第一個選項字串</Option>
<Option Value="傳回值">第二個選項字串</Option>
</Select>
物件名稱.Items.Add("增加的內容")
物件名稱.Items.Remove("欲刪除的內容")
物件名稱.Items.Clear
物件名稱.Items.Count
物件名稱.Items(n).Selected 確定是第幾個被選取
<Script Language="VB" Runat="Server">
Sub Sub_sub(ByVal Sender As Object, ByVal e As EventArgs)
Dim X, I As Integer
X = SelName.Items.Count ' 把清單的總筆數指定給X變數
TextName.value=""
For I=0 to X-1 ' 設定從0至總筆數-1,以測試每一選項被選取
if SelName.Items(I).Selected then
TextName.value+=(SelName.Items(I).value & chr(13))
end if
next
End Sub
</Script>


(其他控制元件)---------------------------------------------------------
Span輸入資料不會產生換行效果
Div輸入資料會產生換行效果




(表格控制元件)--------------------------------------------------------

  
原创粉丝点击