gridview 点击一下链接,弹出一个小页面的问题!

gaoxing_1985007 2009-12-17 02:25:34
在做一个企业站,其中招聘信息已经列表显示了,我想点击“查看该职位”,就能弹出一个小的页面,用表格的形式把该职位的详细信息显示出来,小页面不显示地址栏,工具栏,只显示页面中的内容。页面gridview代码如下:
 <asp:GridView ID="GVJobs" runat="server" AutoGenerateColumns="False" 
Width="698px">
<Columns>
<asp:BoundField DataField="J_jobName" HeaderText="职位名称" />
<asp:BoundField DataField="J_jobNumber" HeaderText="招聘人数" />
<asp:BoundField DataField="J_jobEducation" HeaderText="学历要求" />
<asp:BoundField DataField="J_jobTime" HeaderText="发布时间" />
<asp:TemplateField>
<ItemTemplate>

<asp:LinkButton ID="LinkButton2" runat="server" Text="查看该职位" PostBackUrl='<%# "~/JobsView.aspx?J_jobId=" + Eval("J_jobId") %>'
CausesValidation="False"></asp:LinkButton>
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='<%# "~/Apply.aspx?J_jobId=" + Eval("J_jobId") %>'
CausesValidation="False" Text="应聘该职位"></asp:LinkButton>

</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
...全文
423 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Adechen 2009-12-18
  • 打赏
  • 举报
回复
用弹出一个div的方法,
gaoxing_1985007 2009-12-18
  • 打赏
  • 举报
回复
gaoxing_1985007 2009-12-18
  • 打赏
  • 举报
回复
用js就是实现不了效果,用弹出层,不会啊
wuyq11 2009-12-17
  • 打赏
  • 举报
回复
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{

((HyperLink)e.Row.Cells[0].FindControl("HyperLink1")).Attributes.Add("onclick", "windows.open('')");

((HyperLink)e.Row.Cells[0].Controls[0]).Attributes.Add("onclick", "windows.open('')");
}
}
itweichao 2009-12-17
  • 打赏
  • 举报
回复
protected void GVJobs_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton Search= (LinkButton)e.Row.FindControl("LinkButton1");

Search.CommandArgument = e.Row.RowIndex.ToString();
LinkButton Apply= (LinkButton)e.Row.FindControl("LinkButton2");

Apply.CommandArgument = e.Row.RowIndex.ToString();
}
}
刚才少了一句
itweichao 2009-12-17
  • 打赏
  • 举报
回复
首先给GridView中的<ItemTemplate>加入一个隐藏的控件
<asp:Label ID="lbl_Role" runat="server" Text='<%# Bind("J_jobName") %>' Visible="false"></asp:Label>
并且对于LinkButton1和LinkButton2各加入属性
CommandName="Command1"
CommandName="Command2"

然后给GridView加入事件
protected void GVJobs_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton Search= (LinkButton)e.Row.FindControl("LinkButton1");

Search.CommandArgument = e.Row.RowIndex.ToString();
}
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "Command1")
{
string role = ((Label)this.GridView1.Rows[index].FindControl("lbl_Role")).Text;
string url = "RoleManage.aspx?UserID=" + userID + "&type=1";//举例
ClientScript.RegisterStartupScript(this.GetType(), "pop", "popUp('" + url + "' ,600,450)", true);
}
if (e.CommandName == "Command2")
{
string role = ((Label)this.GridView1.Rows[index].FindControl("lbl_Role")).Text;
string url = "RoleManage.aspx?UserID=" + userID + "&type=2";//举例
ClientScript.RegisterStartupScript(this.GetType(), "pop", "popUp('" + url + "' ,600,450)", true);
}
}

最后在前台页面加入楼主想要的JS
<script type="text/javascript">
function popUp(url,width,height,winname,left,top)
{
var left = (left==''||left==null)?(screen.width - width)/2:left;
var top = (top==''||top==null)?(screen.height - height)/2:top;
var winnames = (winname=='')?'popUpWin':winname;
window.open(url, winnames, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}
</script>
xiezechang 2009-12-17
  • 打赏
  • 举报
回复
走马看野花
gaoxing_1985007 2009-12-17
  • 打赏
  • 举报
回复
方法好多啊
zhounet 2009-12-17
  • 打赏
  • 举报
回复
var div1 = document.createElement("div");
div1.innerHtml = 内容
内容在这里可以是一个table的html也可以是文本
Aderlee 2009-12-17
  • 打赏
  • 举报
回复
在做弹出页面的功能时, 建议考虑浏览器的拦截问题,

也可以做成弹出层的方式.
chengcheng1253 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zgke 的回复:]
模态窗  window.showModalDialog(

或则做个DIV  position="absolute";  把要显示的内容放DIV里 控制位置和显示不显示
[/Quote]
在加上ajax 就OK 了
别递烟哥不会 2009-12-17
  • 打赏
  • 举报
回复
又是模态啊!
<script>
function open()
{
window.showmodaldialog('url' 参数....)
}
</script>

onclientclik="open()"
Lovely_baby 2009-12-17
  • 打赏
  • 举报
回复
可以先通过打开窗体:

function open() {
loc_x = document.body.scrollLeft + event.clientX - event.offsetX + 100;
loc_y = document.body.scrollTop + event.clientY - event.offsetY + 170;
window.showModalDialog("处理页", self, "edge:raised;scroll:0;status:0;help:0;resizable:1;dialogWidth:350px;dialogHeight:350px;dialogTop:" + loc_y + "px;dialogLeft:" + loc_x + "px");
}

在处理页上,进行数据的绑定和处理~~
bojiansky 2009-12-17
  • 打赏
  • 举报
回复
function open() {
loc_x = document.body.scrollLeft + event.clientX - event.offsetX + 100;
loc_y = document.body.scrollTop + event.clientY - event.offsetY + 170;
window.showModalDialog("Default2.aspx", self, "edge:raised;scroll:0;status:0;help:0;resizable:1;dialogWidth:350px;dialogHeight:350px;dialogTop:" + loc_y + "px;dialogLeft:" + loc_x + "px");
}

模态窗口。
zgke 2009-12-17
  • 打赏
  • 举报
回复


模态窗 window.showModalDialog(

或则做个DIV position="absolute"; 把要显示的内容放DIV里 控制位置和显示不显示
comzheng 2009-12-17
  • 打赏
  • 举报
回复
可以把<asp:LinkButton ID="LinkButton2" runat="server" Text="查看该职位" PostBackUrl='<%# "~/JobsView.aspx?J_jobId=" + Eval("J_jobId") %>'
CausesValidation="False"></asp:LinkButton>
改为。
<a href="#" onclick="javascript:window.open('改下路径../JobsView.aspx?J_jobId="+<%#Eval("J_jobId")%>+"','','width=430,height=450,scrollbars=1,resizable=0')">查看该职位</a>
yjcel1988 2009-12-17
  • 打赏
  • 举报
回复
加个OnClientClick="window.open(...)"

62,254

社区成员

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

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

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

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