datagrid里,链接目标地址的问题

nehc 2004-01-31 09:59:51
一般的情况下给DataNavigateUrlField(在vs.net里面是url filed)指定一个字段可以。
比如:
<asp:HyperLinkColumn
HeaderText="Select an Item"
DataNavigateUrlField="IntegerValue"
DataNavigateUrlFormatString="detailspage.aspx?id={0}"
DataTextField="PriceValue"
DataTextFormatString="{0:c}"
Target="_blank"/>

我需要给目标地址传递两个字段的内容。我是否是给DataNavigateUrlField指定两个字段呢?怎么指定呢?用逗号隔开可不行的哦。

...全文
22 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream_river 2004-01-31
  • 打赏
  • 举报
回复
用模版列多好呀!
xiafish 2004-01-31
  • 打赏
  • 举报
回复
在datagrid中设一绑定列,数据字段为modify
DataColumn dc=new DataColumn ("modify",typeof(String));
dc.Expression =
"'<a href=\"AddressListModify.aspx?id1='+Field1+'&id2='+Field2+'\">
修改</a>'";
ds.Tables[0].Columns .Add (dc);
或者可在
dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item .ItemType ==ListItemType. Item ||e.Item .ItemType ==ListItemType.AlternatingItem )
{
e.Item.Cells[2].Text ="<A href=AddressListModify.aspx?id1="+e.Item .Cells[0].Text +"&id2="+e.Item.Cells[1].Text +">修改</a>";
}
}
也可以用模板列
nehc 2004-01-31
  • 打赏
  • 举报
回复
用&的话,产生错误:

“/HaiyanNews”应用程序中的服务器错误。
--------------------------------------------------------------------------------

选定数据源上未能找到名称为“productid&producttitle”的字段或属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 选定数据源上未能找到名称为“productid&producttitle”的字段或属性。

源错误:


行 64: this.DataReader1=this.Command1.ExecuteReader();
行 65: this.DataGrid1.DataSource=this.DataReader1;
行 66: this.DataGrid1.DataBind();
行 67: this.Connection1.Close();
行 68:


源文件: c:\inetpub\wwwroot\haiyannews\shownewstitle.aspx.cs 行: 66

堆栈跟踪:


[HttpException (0x80004005): 选定数据源上未能找到名称为“productid&producttitle”的字段或属性。]
System.Web.UI.WebControls.HyperLinkColumn.OnDataBindColumn(Object sender, EventArgs e) +511
System.Web.UI.Control.OnDataBinding(EventArgs e) +66
System.Web.UI.Control.DataBind() +26
System.Web.UI.Control.DataBind() +86
System.Web.UI.Control.DataBind() +86
System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) +169
System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource) +1408
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +49
System.Web.UI.WebControls.BaseDataList.DataBind() +23
HaiyanNews.ShowNewsTitle1.ShowNewsTitle1_Init(Object sender, EventArgs e) in c:\inetpub\wwwroot\haiyannews\shownewstitle.aspx.cs:66
System.Web.UI.Control.OnInit(EventArgs e) +67
HaiyanNews.ShowNewsTitle1.OnInit(EventArgs e) in c:\inetpub\wwwroot\haiyannews\shownewstitle.aspx.cs:36
System.Web.UI.Control.InitRecursive(Control namingContainer) +241
System.Web.UI.Page.ProcessRequestMain() +174




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
nehc 2004-01-31
  • 打赏
  • 举报
回复
我就奇怪了。DataNavigateUrlFormatString="detailspage.aspx?id={0}"当中,用{0}??

我想起console.write()的用法。是可以指定都个字段???msdn也没有说清楚。

我试过了&号不可以。&可连接多个get变量。
wyfwyf2000 2004-01-31
  • 打赏
  • 举报
回复
用TemplateColumn
asp_badboy 2004-01-31
  • 打赏
  • 举报
回复
传多个参数时我一般用TemplateColumn里用<a href"..."></a>
但是在VS.net里这种写了好不方便,切换到设计界面都不行了~~
webdiyer 2004-01-31
  • 打赏
  • 举报
回复
用HyperLinkColumn无法传递两个字段的值,你需要用TemplateColumn。
Jouzen 2004-01-31
  • 打赏
  • 举报
回复
我没有在HyperLinkColumn中写过
我的实现是在数据绑定中写的 比如把第一列的文本修改为<a href=""></a>
这样比较灵活一些
KingOfFalcon 2004-01-31
  • 打赏
  • 举报
回复
用 & 号隔开
cnlamar 2004-01-31
  • 打赏
  • 举报
回复
xxx.aspx?name1=value1&name2=value2
这样传递就可以了呀?
sinocat 2004-01-31
  • 打赏
  • 举报
回复
用模板列

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧