天天看点

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"));

  }