绑定表达式的问题
本人在DataList里加了一个HyperLinker的控件
NavigateUrl属性希望设置成fittingsbyproducer.aspx?pro=***
注:当前页面不是fittingsbyproducer.aspx
其中***需要从数据源中读取ProducerID字段数据,我写不好,望各位指教
问题点数:100、回复次数:5Top
1 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-19 13:45:09 得分 70
private void DataGridResult_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//只处理列表项
if(e.Item.ItemType ==ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem)
{
//查找模板生成的控件并且修改其目标
System.Web.UI.WebControls.HyperLink hl=(HyperLink)e.Item.FindControl("HyperLinkTopic");
//注意对不同的数据源,e.Item.DataItem的类型也不同
System.Data.DataRowView rec=(System.Data.DataRowView)e.Item.DataItem;
if(rec!=null)
{
//编码会造成查询时内存溢出的日文片假名
hl.Text=srwbbs.Global.JDecode(rec["Topic"].ToString());
//根据参数和值建立目标URL
NameValueCollection nvc=new NameValueCollection();
nvc["ID"]=rec["ID"].ToString();
nvc["BoardID"]=rec["BoardID"].ToString();
string strURL="http://allgames.gamesh.com/srwbbs/topic.asp";
strURL+=srwbbs.Global.BuildQueryString(nvc).ToString();
//设置目标
hl.NavigateUrl=strURL;
}
}
}
//从字符串:值的集合建立URL的参数字符串
static public string BuildQueryString(NameValueCollection values)
{
StringBuilder sb = new StringBuilder();
for (int i =0; i < values.Count; ++ i)
{
sb.Append(i == 0 ? "?" : "&");
sb.Append(values.Keys[i]);
sb.Append("=");
sb.Append(HttpUtility.UrlEncode(values[i]));
}
return sb.ToString();
}Top
2 楼lulei(中子能)回复于 2006-03-19 13:46:18 得分 10
<%#“fittingsbyproducer.aspx?pro=<%”+ Eval( "ProducerID")%>Top
3 楼BoyMgl(我不怕猫)回复于 2006-03-19 19:50:29 得分 0
谢了各位!Top
4 楼artak(甜葡萄)回复于 2006-03-19 20:23:41 得分 10
fittingsbyproducer.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>Top
5 楼lt7(fish7)回复于 2006-03-19 20:40:11 得分 10
*** = <%#DataBinder.Eval(Container.DataItem,"ProducerID")%>Top




