天天看點

asp.net 常用的一些東西

一 ,打開新視窗并傳遞參數

(1)response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")

  接收參數:

string a = Request.QueryString("id");

string b = Request.QueryString("id1");

(2)Button跳轉新頁面

Response.Redirect("SaleOrderBackAdd.aspx?rsoId=" + rsoId.ToString()+"&Type=0");

(3)Button打開新頁面

private void Page_Load(object sender, System.EventArgs e)

  {

       if(!IsPostBack)

       {

            Button1.Attributes.Add("onclick","window.open('../Sale/ShowJobOrder.aspx?rsoId="+rsoId.ToString()+"&url=SaleOrderShow.aspx','新頁面名稱,'top=100%,left=80,toolbar=no, menubar=no,scrollbars=yes,"

     +"resizable=yes, location=no, status=no, width=610,height=400');return false;");

        }

  }

(4)DataGrid打開新頁面

(a)

把此列轉換為模闆列

(b)

<asp:TemplateColumn HeaderText="合同編号">

         <HeaderStyle Width="9%"></HeaderStyle>

         <ItemTemplate>

          <a style="CURSOR: hand"   

          href='SaleOrderShow.aspx?rsoId=<%# DataBinder.Eval(Container, "DataItem.rsoId") %>' target="_blank">

           <%# DataBinder.Eval(Container, "DataItem.rsoCode") %>//該列的綁定字段

          </a>

         </ItemTemplate>

        </asp:TemplateColumn>

(5)接收參數

  private int rsoId

  {

         get

            {

                try

                   {

                       return Convert.ToInt32(Request.QueryString["rsoId"]);

                   }

                catch

                   {

                       return 0;

                   }

            }

  }

(6)

控制摸闆列字段裡TextBox的readonly屬性

<1>點開摸闆列裡TextBox控件的屬性,選擇最上面的DataBindings屬性

<2>在新視窗找到ReadOnly并在"自定義綁定表達式"裡寫上方法.例如:a==1?true:false

<3>在cs裡寫屬性.例如:

public int a

{

   set

      {

            b=0;

      }

   get

      {

            return b;

      }

}

二,Button的提示

(1)

Button1.Attributes.Add("onclick","return confirm(’确認?’)");

button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")

(2)

btnDel.Attributes.Add("onclick",   "return   confirm('确定删除該記錄嗎?');");

(3)DataGrid列删除提示

private void dgBank_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

  {

      if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

      {

          (e.Item.Cells[4].Controls[0] as LinkButton).Attributes.Add("onclick","return confirm('确定要删除嗎!');");

      }

  }

三,擷取參數值

1,取DataGrid列值:

(1)取主鍵值

int ID = Convert.ToInt32(dgBank.DataKeys[e.Item .ItemIndex]);

(2)取列值

string Memo=(dgProduct.Items[i].Cells[7].Controls[1] as TextBox).Text;

int a = Convert.ToInt32((e.Item.Cells[2].Controls[0] as TextBox).Text);

string b = (e.Item.Cells[1].Controls[0] as TextBox).Text.Trim();

int c = Convert.ToInt32(e.Item.Cells[8].Text);   //隻讀列

int d = Convert.ToInt32((e.Item.Cells[6].Controls[1] as DropDownList).SelectedValue.ToString());   //内嵌DropDownList控件

(3)循環DataGrid清單取值

(a)

private int rsoId()

  {

      int r = 0;

      int rsoId = -1;

      for(int i = 0; i < dgSaleOrder.Items.Count; i++)

      {

          if((dgSaleOrder.Items[i].Cells[0].FindControl("CheckBox") as CheckBox).Checked)

             {

                 rsoId =Convert.ToInt32( dgSaleOrder.DataKeys[dgSaleOrder.Items[i].ItemIndex].ToString());

                 r++;

             }

      }

      if(r == 0)

      {

          MessageBox.Show(this,"請選擇一條資料");

          return false;

      }

      if(r>1)

      {

          MessageBox.Show(this,"選擇請不要多于一條資料");

          return false;

      }

      else

      {

         return rsoId;

      }

}

(b)

private string rsoId()

  {

       string rsoId = "";

      for(int i = 0; i < dgSaleOrder.Items.Count; i++)

      {

          if((dgSaleOrder.Items[i].Cells[0].FindControl("CheckBox") as CheckBox).Checked)

             {

                 rsoId+ =dgSaleOrder.DataKeys[dgSaleOrder.Items[i].ItemIndex]+",";

             }

      }

      if(rsoId == "")

      {

          MessageBox.Show(this,"請選擇一條資料");

          return false;

      }

      else

      {

         rsoId= rsoId.Remove(rsoId.Length - 1,1);

         return rsoId;

      }

}

四,表格點選改變顔色

if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)

{

 e.Item.Attributes.Add("onclick","this.style.backgroundColor=’#99cc00’;

    this.style.color=’buttontext’;this.style.cursor=’default’;");

}

寫在DataGrid的_ItemDataBound裡

if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)

{

e.Item.Attributes.Add("onmouseover","this.style.backgroundColor=’#99cc00’;

   this.style.color=’buttontext’;this.style.cursor=’default’;");

e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=’’;this.style.color=’’;");

}

五,Datagrid增加自動編号列

(正序)

1<asp:DataGrid id="DataGrid1" runat="server">

2    <Columns>

3     <asp:TemplateColumn>

4      <ItemTemplate>

5       <%# Container.ItemIndex + 1%>

6      </ItemTemplate>

7     </asp:TemplateColumn>

8    </Columns>

9 </asp:DataGrid>

(倒序)

<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">

2                            <Columns>

3                                   <asp:TemplateColumn>

4                                          <ItemTemplate>

5                                                 <%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %>

6                                          </ItemTemplate>

7                                   </asp:TemplateColumn>

8                            </Columns>

9                     </asp:DataGrid>

六,一個按鈕實作添加和更改兩個功能

private void Page_Load(object sender, System.EventArgs e)

{

      if (!Page.IsPostBack)

      {

          if (Request.QueryString["U_ID"] == null || Request.QueryString["U_ID"].ToString() == string.Empty || Convert.ToInt32(Request.QueryString["U_ID"]) < 1)

          {

              btnSave.CommandName ="insert";

               btnSave.Text="添加";

           }

            else

            {

               btnSave.CommandName="update";

               btnSave.Text="更改";

            }

      }

}

private void btnSave_Click(object sender, System.EventArgs e)

{

         if(Page.IsValid)

            {

                if(btnSave.CommandName == "insert")

                      {

                          Add(); 

                      }

                else

                      {

                          Edit();

                      }

            }

  }

七,關于日期格式

1,頁面按鈕顯示:

lblsendtime.Text = Convert.ToDateTime(m_table.Rows[0]["sendtime"]).ToString("yyyy-MM-dd");   //2007-04-05

lblsendtime.Text = Convert.ToDateTime(m_table.Rows[0]["sendtime"]).ToString("yyyy年MM月dd日 ddd");  

//2007年04月05日 星期五

2,DataGrid列顯示時間:

{0:yyyy-mm-dd}

八,CheckBox (全選或全不選)

  private void btnSelectAll_Click(object sender, System.EventArgs e)

  {

         for(int i = 0; i < dgMessage.Items.Count; i++)

            {

                   if(((CheckBox)dgMessage.Items[i].Cells[0].FindControl("CheckBox1")).Checked)

                      {

                             ((CheckBox)dgMessage.Items[i].Cells[0].FindControl("CheckBox1")).Checked = false;

                       }

                   else

                      {

                             for(int r = 0; r < dgMessage.Items.Count; r++)

                                {

                                       ((CheckBox)dgMessage.Items[r].Cells[0].FindControl("CheckBox1")).Checked = true;

                                 }

                             return;

                       }

            }

  }

九,對一組以逗号分隔的字元串ID值循環

string strID;

string[] strID = importIDs.Split(',');

for(int i = 0;i < strID.Length; i++)

   {

      Update saleOrder set name=**  where rsoId=strID[i]

   }

十,綁定DropDownList控件

private void drpOrderStatusBind()

  {

   QuMeiXJ.BLL.batchSaleStatus bll = new QuMeiXJ.BLL.batchSaleStatus();

   DataSet ds = bll.GetList("1=1");

   drpOrderStatus.DataTextField = "bathSaleSName";

   drpOrderStatus.DataValueField = "bathSaleSID";

   drpOrderStatus.DataSource = ds;

   drpOrderStatus.DataBind();

   drpOrderStatus.Items.Insert(0,new ListItem("全部","-1"));

  }