日期:2014-05-20  浏览次数:20401 次

DataGrid的HyperLinkColumn中如何引用cs中的变量值??
<Columns>
<asp:BoundColumn   HeaderText= "批号 "   DataField= "批号 "/> <asp:HyperLinkColumn   HeaderText= "卡的总数 "   DataNavigateUrlField= "批号 "   DataNavigateUrlFormatString= "test.aspx?batchid={0}&bcreate= <%=strBeginCreateDate%> &ecreate= <%=strEndCreateDate%> "   DataTextField= "测试 "/>
......
我在cs中用了protected   string   strBeginCreateDate;
然后在page_load中strBeginCreateDate=   "aa ";
并且在aspx的其他地方使用 <%=strBeginCreateDate%> 的确输出了aa.
问题是上面的HyperLinkColumn中却是按字符串直接输出的,并没有当作变量使用,等于输出就是test.aspx?batchid=13&bcreate= <%=strBeginCreateDate%> &ecreate= <%=strEndCreateDate%> ,并不是把strBeginCreateDate的变量值输出,请问如何改?????



------解决方案--------------------
换成模板列
------解决方案--------------------
public HyperLinkField GetHyperLinkControl(string[] x)
{
HyperLinkField hlf = new HyperLinkField();
hlf.HeaderText = dr[1].ToString();
hlf.DataTextField = dr[0].ToString();
hlf.DataNavigateUrlFields = x;
hlf.DataNavigateUrlFormatString = default.aspx?id={0}
return hlf;
}
数组X就是你要传的值,hlf.DataNavigateUrlFormatString后面自己改下应该就可以调用了