关于弹出窗口的一个奇怪的问题(大家请进)!

by43644169 2007-12-06 01:45:20
我在前台用了一个GRIDVIEW其中有个linkbutton模板列,点击该列中某一项即弹出窗口,并把此项的值传给该弹出窗口。可实验时发现每次都必须要点击到第二次才会弹出窗口,点击第一次时没反应,请问大家有人知道什么原因么?
附带部分代码:
前台:
<asp:GridView id="FGridView" runat="server" CssClass="Note" Width="100%" HeaderStyle-BackColor="AliceBlue" BorderColor="Thistle" BorderStyle="Ridge" AutoGenerateColumns="False" OnRowCommand="FGridView_RowCommand" OnRowCreated="FGridView_RowCreated" DataKeyNames="jgms">

<Columns>

<asp:TemplateField HeaderText="体征描述">
<ItemTemplate>
<asp:LinkButton ID="miaoshu" CommandName="ms" runat="server" Text='<%#Eval("JGMS") %>' ></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>

后台:
protected void FGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{

String miaoshu = "";
e.CommandName.ToString();

LinkButton bb = new LinkButton();

if (e.CommandName == "ms")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = FGridView.Rows[index];

bb = (LinkButton)row.Cells[1].FindControl("miaoshu");
miaoshu = bb.Text;
FGridView.Rows[index].Cells[1].Attributes.Add("OnClick", "javascript:window.open('cbzd.aspx?jg="+miaoshu+"','','width=400,height=300,toolbar=no,menubar=no,resizable=yes, top=200,left=1000');");
}
}
...全文
207 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
by43644169 2007-12-07
  • 打赏
  • 举报
回复
楼上正解!!!!!!太感谢了,散分!
icefisher 2007-12-06
  • 打赏
  • 举报
回复
在gridview rowdatabound中为linkbutton动态添加客户端单击事件:
protected void FGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton bb = (LinkButton)e.Row.FindControl("miaoshu");
e.Row.Cells[1].Attributes.Add("onclick", "javascript:window.open('cbzd.aspx?jg=" + bb.Text + "','','width=400,height=300,toolbar=no,menubar=no,resizable=yes, top=200,left=1000');");
}
}
by43644169 2007-12-06
  • 打赏
  • 举报
回复
楼上的高手,我的问题就在于,响应onclick事件时所传的参数是要在点击事件时才获得的,所以不知怎么像你说的那样实现,可否给于指点?
  • 打赏
  • 举报
回复
呵呵,第一次是加入属性,第二次是响应前台“onclick”事件,只要在绑定数据的时候加入属性就可以了
by43644169 2007-12-06
  • 打赏
  • 举报
回复
我试了用e.Row.RowIndex来代替,不过运行提示超出参数有效范围,是什么原因呢?
by43644169 2007-12-06
  • 打赏
  • 举报
回复
哦,似乎明白了,还有点问题,你这里用的是Datagrid,所以一些属性是不同的,this.DataGrid1.DataKeys[e.Item.ItemIndex],这里e.Item.ItemIndex在gridview中应该怎么表示呢?
leon520qqq0 2007-12-06
  • 打赏
  • 举报
回复
这个就是弹出子窗口的啊.你在location.reload(true);");前加上window.close()就可以实现关闭子窗口,刷新父窗口了着段代码放在Rowdatabound事件中
by43644169 2007-12-06
  • 打赏
  • 举报
回复
楼上的高手,先谢谢你的 帮助。不过我是个大菜鸟,没太明白你的意思。这段代码是为了实现弹出窗口么?我已经实现了,就是解决不了所传参数是在点击的同时获得这个问题,上面几位分析的很对,只是我不知道该怎么解决。如果你这段代码是可以解决这个问题的,那应该放在那个函数里呢?
leon520qqq0 2007-12-06
  • 打赏
  • 举报
回复
给你例子,你自己照着写吧
string strDialogSettings = "Center:yes;Resizable:yes;DialogHeight:800px;DialogWidth:720px;Status:no;scrollbars:no";
((LinkButton)(e.Item.Cells[4].Controls[0])).Attributes.Add("onclick", "ShowDialog('CompanyFile.aspx?CommodityID=" + this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString() + "','" + strDialogSettings + "');location.reload(true);");//
by43644169 2007-12-06
  • 打赏
  • 举报
回复
但是我要传的参数,是在这个事件里才得到的啊,应该怎么办呢?
leon520qqq0 2007-12-06
  • 打赏
  • 举报
回复
LZ是要实现点击弹出新窗口吗?
一品梅 2007-12-06
  • 打赏
  • 举报
回复
楼上分析的很对,应该在行生成这个生命周期点上赋值javascript属性.
icefisher 2007-12-06
  • 打赏
  • 举报
回复
FGridView.Rows[index].Cells[1].Attributes.Add("OnClick", "javascript:window.open('cbzd.aspx?jg="+miaoshu+"','','width=400,height=300,toolbar=no,menubar=no,resizable=yes, top=200,left=1000');");
}
这个绑定不应该放在RowCommand中,而是应该放在RowCreate或Rowdatabound中
内容概要:本文档介绍了一个基于MATLAB/Simulink平台的综合性科研资源共享项目,核心内容为四旋翼无人机俯仰姿态保持的模糊自整定PID控制系统设计与仿真,提供完整的Matlab代码和Simulink仿真实现资源。项目进一步拓展至无人机轨迹跟踪、多控制策略对比(如线性MPC、非线性NMPC、强化学习RL及混合MPC-RL)、储能优化、电力系统调度、路径规划、神经网络预测等多个前沿科研方向。文档强调科研不仅需要严谨思维与勤奋,更要善于“借力”,通过成熟案例启发创新思路,帮助研究者避免误区,利用高质量资源激发科研灵感,加速高水平成果的复现与产出。; 适合人群:具备一定MATLAB编程基础,从事自动化、控制工程、电力系统、机器人或人工智能等相关领域的科研人员、研究生及工程师,尤其适合希望快速复现高水平论文成果的研究者。; 使用场景及目标:① 实现模糊PID控制在无人机姿态控制中的应用与仿真;② 对比分析不同先进控制策略(如MPC、RL)在轨迹跟踪中的性能表现;③ 借助提供的代码与模型,完成科研项目中的仿真验证、论文复现或算法优化任务。; 阅读建议:建议读者按照资源目录顺序逐步学习,优先掌握核心控制方法(如模糊PID、MPC)的实现逻辑,结合代码与仿真模型进行调试与改进,从而深化对控制理论的理解并推动自身科研工作的创新。
内容概要:本文档围绕“2023年IEEE ICMA顶刊复现多欠驱动水面无人艇误差约束协同路径跟踪控制(Matlab代码实现)”展开,详细介绍了一项针对多欠驱动水面无人艇的协同路径跟踪控制技术的研究与实现。该研究通过引入误差约束机制,旨在提升无人艇在复杂海洋环境下的路径跟踪精度与系统稳定性。文档不仅提供了完整的Matlab代码实现,还涵盖了控制算法的设计原理、数学建模过程以及仿真实验结果分析。此外,文档还列举了多个相关科研方向,如智能优化算法、机器学习、路径规划、无人机控制、电力系统优化等,展示了其在多学科交叉领域的广泛应用前景,并倡导科研工作者善用工具资源,提升研究效率。; 适合人群:具备一定编程基础,尤其是熟练掌握Matlab/Simulink环境的科研人员、工程师,以及对无人艇控制、路径跟踪、协同控制、非线性系统控制等领域感兴趣的研究生和高校学者。; 使用场景及目标:① 开展多欠驱动水面无人艇的协同路径跟踪控制研究;② 设计与实现具有误差约束的先进控制算法;③ 利用Matlab进行控制系统建模、仿真与性能验证;④ 探索将智能优化算法与现代控制理论相结合,解决复杂工程系统中的实际控制问题。; 阅读建议:建议读者按照文档的逻辑顺序系统学习,重点理解控制算法的设计思路与数学推导过程,并结合所提供的Matlab代码进行动手实践与仿真调试,以深化对理论知识的掌握。同时,鼓励读者积极查阅相关领域的最新文献,紧跟学术前沿,不断拓展研究视野,激发创新灵感。

62,269

社区成员

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

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

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

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