`

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

 
阅读更多
使用.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);
}
}

}

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics