日期:2014-05-17  浏览次数:20424 次

gridview下HyperLinkField传递多个参数的问题
当传递的参数是数据库字段的时候我会做:
HyperLinkField DataNavigateUrlFields="MailID,folderid" 
DataNavigateUrlFormatString="Reader.aspx?MailID={0}&FolderID={1}" 

可是当传递的两个参数,一个是数据库字段,一个是页面参数的时候(比如mailid是数据库字段,而folderid是我在页面里定义的全局变量),我这样写就报错说找不到folderid,我该怎么实现??
DataNavigateUrlFormatString="Reader.aspx?MailID={0}&amp;FolderID=<%= nFolderID %>" 也不对
我该怎么做???

------解决方案--------------------
不要用HyperLinkField,直接用TemplateField,在上面放一个链接,链接地址为'Reader.aspx?MailID=<%# Eval("MailID") %>&FolderID=<%= nFolderID %>'
------解决方案--------------------
<asp:HyperLinkField DataNavigateUrlFields="UserId" DataNavigateUrlFormatString="x.aspx?id={0}&FolderID=" />



string FolderID = "xxxxxx";
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink h = e.Row.Cells[0].Controls[0] as HyperLink;
h.NavigateUrl += FolderID;
}
}