gridview里的 Hyperlink属性中 有个 DataNavigateURLFormateString
如果要转到另一个页面,可以用:detail.aspx?ID={0}
如果要重新打开一个小窗口的话是用:javascript:var newwin=window.open('detail.aspx?ID={0}','null','width=300,height=200')吗? 书上是这么写的,可打进去却不行,调试后,那个Hyperlink根本点不了.
不知道为什么. 我用 <script language=javascript>window.open('detail.aspx?ID={0}','newwin','width=300,height=200')</script>") 也不行.
所转页面有一个formview 要用到 gridview中Hyperlink传多来的 ID 才能相应显示内容
例:
DataNavigateURLFields 设置值 IDCol
DataNavigateURLFormateString 设置值 detail.aspx?ID={0}
最后就会生成Hyperlink(<a>元素)的href值为:
detail.aspx?ID=IDCol对应的值你不绑定DataNavigateURLFields的话,生成的html代码里的Hyperlink(<a>元素)就不会有href属性,所以那个Hyperlink(<a>元素)根本点不了。打开新窗口也是一样的道理。
不知道在这里面,要怎样表达?
<Columns>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<img src="../Images/view.gif" border="0" align="absmiddle" onclick="window.open('ConfirmEdit.aspx?ConfirmId=<%# DataBinder.Eval(Container.DataItem,"ConfirmId")%>&type=Detail','','width=800,height=600')" />
</ItemTemplate>
<HeaderStyle Width="60px" />
</asp:TemplateField>
<asp:TemplateField HeaderText ="確認單號" SortExpression ="ConfirmNo">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"Confirmno")%>
</ItemTemplate>
<ItemStyle Width ="80px" VerticalAlign ="Middle" HorizontalAlign ="Center" />
<HeaderStyle HorizontalAlign ="Center" Width="80px" />
</asp:TemplateField>
function openWin(id)
{
window.open('detail.aspx?ID='+id,'newwin','width=300,height=200');
}
</script>
DataNavigateURLFormateString 属性里可以输那么多啊 ?
还有函数呢,
DataTextField="LastName" HeaderText="LastName"></asp:HyperLinkColumn>
啊? 有varwin这个
跟我的差不多,可是真的有varwin吗?
不知道行不哦 试下
???郁闷~
函数当然是写真外部的Hyperlink 中只有 javascript:openWin({0});
{
e.Row.Cells[0].Text = "<a href=javascript: onclick=\"javascript:var winObj = window.open('"
+ "Detail.aspx?ID=" + e.Row.Cells[0].Text.ToString()
+ "',null,'left=190,top=190,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,location=yes');winObj.focus(0);\">明细</a>";
}
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[4].Text = "<a href=javascript: onclick=\"javascript:var winObj = window.open('"
+ "Detail_Post.aspx?ID=" + e.Row.Cells[4].Text.ToString()
+ "','WinName','left=190,top=190,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,location=yes');winObj.focus(0);\">"
+ e.Row.Cells[4].Text.ToString()+"</a>";
}
}
注意: 其中有三个地方用到 e.Row.Cells[4]