我想将calendar1.Selecteddate
从query string
中的gridview
传递到另一个gridview
(我在sqlquery
中写了gridview
})在另一页。如下面的代码所示,我尝试传递它,但这不起作用。任何人都可以告诉我如何从calendar
query string
传递所选日期
<asp:HyperLinkField DataNavigateUrlFields="LocalIP"
DataNavigateUrlFormatString="DailyResults.aspx?
Terms={0}&column=LocalIP&
startdate=Calendar1.SelectedDate.Date.Date.ToShortDateString()
DataTextField="LocalIP" HeaderText="User" />
答案 0 :(得分:1)
一种解决方案是在代码隐藏中构建您的URL字符串,而不是在标记中构建它。
覆盖GridView上的RowDataBound方法并以编程方式构建超链接:
protected override gv1_RowDataBound(object sender, GridViewRowEventArgs e)
{
HyperLink hl = new Hyperlink();
hl.NavigateUrl = string.Format("DailyResults.aspx?Terms={0}&column=LocalIP&startdate={1}", localIp, Calendar1.SelectedDate.Date.Date.ToShortDateString());
.. set other hyperlink fields ..
e.Row.Cells[1].Controls.Add(hl);
}
希望有所帮助!
答案 1 :(得分:0)
在您提供的示例中,它会将字符串的日历部分视为文字并传递您键入的确切值。 为了获得数据,你需要做类似的事情:
<asp:HyperLinkField DataNavigateUrlFormatString="<%=GetSelectedDate()%>....
这是一个关于类后面的代码的方法(或者你可以使用一个属性)来创建你想要的字符串,包括LocalIP绑定数据字段的{0}占位符。
答案 2 :(得分:0)
我假设自渲染gridview以来日历选择值没有改变。
<asp:HyperLinkField DataNavigateUrlFields="LocalIP"
DataNavigateUrlFormatString='<%# "DailyResults.aspx?Terms={0}&column=LocalIP&startdate=" + Calendar1.SelectedDate.Date.Date.ToShortDateString() %> DataTextField="LocalIP" HeaderText="User" />