求教:通过点击GirdView控件中的超级链接HyperLinkField打开一个新的小窗口页面

eyuellp 2010-07-10 02:22:19
各位老师,大家好:

我是一个刚刚使用ASP.NET,用C#进行网络开发的新手。

有问题向大家求教:

1、使用了GirdView控件,并在它的Columns中添加了一个超级链接HyperLinkField;
当然,根据需要还添加了一些BoundField;

2、我希望:程序运行时,点击超级链接HyperLinkField,能弹出一个小窗口(即:原有页面保持,又弹出一个新页面),
在小窗口中有相关的详细信息;

3、我看了一些资料,都是说:可以直接在HTML中添加一个超级链接,然后,使用window.open('*.aspx',width = heigh=)
来实现;于是,我“照猫画虎”,用到GirdView控件的HyperLinkField中,
即:HyperLinkField的DataNavigateUrlFormatString=window.open('*.aspx',width = heigh=);但---不行!!

请教各位老师:

我的思路有问题?错在什么地方?应该如何解决?

如何才能实现?

我只想通过点击GirdView控件中的超级链接HyperLinkField,来打开一个新的小窗口(页面)。

请指教,多谢!



...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
ooooooooooooooookkkkkkkkkkkkkkkkkkkkkk
一切为了你 2010-07-10
  • 打赏
  • 举报
回复
这是通过点击一本书进入它的详细页面的超链接!! 绝对可以,id可以根据实际情况换!!
<asp: HyperLinkField DataNavigateUrlFormatString='test.aspx?id={0}'
DataNavigateUrlFields="Id" Text="详细" /></asp:HyperLinkField>
p_jojo 2010-07-10
  • 打赏
  • 举报
回复
在HyperLinkField里添加Target="_blank"属性和值,就解决了
wuyq11 2010-07-10
  • 打赏
  • 举报
回复
<a target="_blank" href="javascript:varwin=window.open('a.aspx?id=<%#Eval("ID") %>','','width=200,height=300');"></a>
</ItemTemplate>

string.Format( "javascript:var win=window.open('a.aspx?ID={0}','_blank','width=300,height=200')",id);
zkj513703929 2010-07-10
  • 打赏
  • 举报
回复
参考:


<asp:GridView ID="gvQuestionType" DataKeyNames="QuestionTypeID" Width="100%" AutoGenerateColumns="false"
runat="server" BorderWidth="1px" BorderColor="#CECECE" onmouseover="changeto()"
onmouseout="changeback()" OnRowDataBound="gvQuestionType_RowDataBound" OnRowCommand="gvQuestionType_RowCommand">
<Columns>
<asp:TemplateField HeaderText="分类名称" ItemStyle-BorderStyle="Solid">
<ItemTemplate>
<a id="aQuestionType" runat="server"><%#DataBinder.Eval(Container, "DataItem.QuestionTypeName")%></a>
</ItemTemplate>
<HeaderStyle Width="6%" BackColor="#EFFFF0" Font-Size="12px" BorderStyle="Solid" />
</asp:TemplateField>
<asp:BoundField DataField="SortNo" HeaderText="排序">
<HeaderStyle BorderStyle="Solid" />
<ItemStyle BorderStyle="Solid" Width="12%" />
</asp:BoundField>
<asp:BoundField DataField="AddDate" HeaderText="创建日期">
<HeaderStyle BorderStyle="Solid" />
<ItemStyle BorderStyle="Solid" Width="12%" />
</asp:BoundField>
<asp:TemplateField HeaderText="编 辑" ItemStyle-BorderStyle="Solid">
<ItemTemplate>
<div align="center" style="width: 100%">
<img src="../images/037.gif" width="9" height="9" />
<a href="#" id="aEdit" runat="server">编 辑</a>
</div>
</ItemTemplate>
<HeaderStyle Width="6%" BackColor="#EFFFF0" Font-Size="12px" BorderStyle="Solid" />
</asp:TemplateField>
<asp:TemplateField HeaderText="删 除" ItemStyle-BorderStyle="Solid">
<ItemTemplate>
<div align="center" style="width: 100%;">
<img src="../images/010.gif" width="9" height="9" />
<asp:LinkButton ID="lkbQuestionType" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "QuestionTypeID", "{0}")%>'
CommandName="del" OnClientClick='return confirm("是否确定删除?")'>删除</asp:LinkButton>
</div>
</ItemTemplate>
<HeaderStyle Width="6%" BackColor="#EFFFF0" Font-Size="12px" BorderStyle="Solid" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="ListHead" />
<RowStyle CssClass="ListRow" />
</asp:GridView>
后台:
protected void gvQuestionType_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string strID = gvQuestionType.DataKeys[e.Row.RowIndex].Value.ToString();

((HtmlAnchor)e.Row.Cells[3].FindControl("aEdit")).Attributes.Add("onclick", "javascript:window.showModalDialog('AddQuestionType.aspx?id=" + strID + "&tempid=" + new Random().Next(1, 1000) + "',window,'dialogWidth=400px;dialogHeight=280px;status=0;scroll=no');");
}
}
ivws_19 2010-07-10
  • 打赏
  • 举报
回复
可以把hyperlinkfield换成模板列,里面放一个linkbutton,为其添加onclientclick事件,事件里写
window.open('*.aspx',width = heigh=)

62,041

社区成员

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

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

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

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