.net wap 开发:在.net中写自己的objectlist

来源:互联网 发布:网络暴力新闻 编辑:程序博客网 时间:2024/05/05 00:34

   使用.net开发wap的都会为这个工具的强大所震撼,忘掉在php,asp,jsp中的write wml语法吧.但是,美中不足的是其中的类web中的datagrid控件objectlist没有他所宣称的那么方便,至少不符合中国人的习惯.那么,来吧,让我来告诉一种更简单的写list控件的方法.

  (1): 写一个类继承MobileControl

  (2):在CreateChildControls方法中,动态的增加你需要的控件,通常是link与label.

  demo如下:

public class ChananelUserList : MobileControl
 {

  /// </summary
  ///
  /// </summary>
  
  /// </summary
  ///
  /// </summary>
  [Bindable(true),Category("Data")]
  public int UserID
  {
   set
   {
    ViewState["UserID"]=value;
   }
   get
   {
    if(ViewState["UserID"]!=null)
     return (int)ViewState["UserID"];
    return 0;
   }
  }
  [Bindable(true),Category("Data")]
  public string ani
  {
   set
   {
    ViewState["ani"]=value;
   }
   get
   {
    if(ViewState["ani"]!=null)
     return (string)ViewState["ani"];
    return "0";
   }
  }
  [Bindable(true),Category("Data")]
  public string ChannalID
  {
   set
   {
    ViewState["ChannalID"]=value;
   }
   get
   {
    if(ViewState["ChannalID"]!=null)
     return (string)ViewState["ChannalID"];
    return "0";
   }
  }
  /// <summary>
  ///
  /// </summary>
  /// <param name="e"></param>
  protected override void OnInit(EventArgs e)
  {
   base.OnInit (e);   
  }
  /// <summary>
  ///
  /// </summary>
  protected override void CreateChildControls()
  {
   System.Data.DataSet ds=Common2.GetChannelUser(UserID,ChannalID,ani);
   if(ds!=null)
   {
    System.Data.DataTable dt=ds.Tables[0];
    if(dt.Rows.Count>0)
    {
     for(int i=0;i<dt.Rows.Count;i++)
     {
      System.Web.UI.MobileControls.Link ChaMemTelLink=new System.Web.UI.MobileControls.Link();//电话
      ChaMemTelLink.Text=Convert.ToString(dt.Rows[i][4]);
      ChaMemTelLink.BreakAfter=false;
      Controls.Add(ChaMemTelLink);
      System.Web.UI.MobileControls.Label blankLabel1=new System.Web.UI.MobileControls.Label();//空
      blankLabel1.Text=" ";
      blankLabel1.BreakAfter=false;
      Controls.Add(blankLabel1);
      
      System.Web.UI.MobileControls.Link DeleteLink=new System.Web.UI.MobileControls.Link();//删除
      DeleteLink.Text="删除";
      DeleteLink.NavigateUrl="frmChannelMemDelete.aspx?"+"ani="+ani+
       "&UserID="+UserID.ToString()+"&ChannalID="+ChannalID+"&ID="+Convert.ToInt32(dt.Rows[i][0]);
      Controls.Add(DeleteLink);
     }
    }
    else
    {
     System.Web.UI.MobileControls.Label Output=new System.Web.UI.MobileControls.Label();
     Output.Text="该频道还没有人,请先添加.";
     Controls.Add(Output);
    }
   }
   
  }
  
 } 

原创粉丝点击