Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不带地址的弹出窗口&;在gridview中单击hyperlinkfield时的菜单栏_Javascript_Asp.net - Fatal编程技术网

Javascript 不带地址的弹出窗口&;在gridview中单击hyperlinkfield时的菜单栏

Javascript 不带地址的弹出窗口&;在gridview中单击hyperlinkfield时的菜单栏,javascript,asp.net,Javascript,Asp.net,我正在c#dot net中开发一个屏幕,其中我有一个搜索屏幕,其中包含一个包含一些查询字符串值的超链接字段,在超链接字段的clik上,我必须打开一个弹出窗口,该窗口工作正常,但我不希望在弹出窗口中显示地址栏或菜单项,而且大小应该是特定的,有人能告诉我怎么做吗 我使用下面的代码,但它只是改变大小的窗口,而不是隐藏菜单等,而且第一个弹出窗口得到完整的大小加载,然后得到改变的大小,我已经指定 <asp:HyperLinkField DataNavigateUrlFields="FileName"

我正在c#dot net中开发一个屏幕,其中我有一个搜索屏幕,其中包含一个包含一些查询字符串值的超链接字段,在超链接字段的clik上,我必须打开一个弹出窗口,该窗口工作正常,但我不希望在弹出窗口中显示地址栏或菜单项,而且大小应该是特定的,有人能告诉我怎么做吗

我使用下面的代码,但它只是改变大小的窗口,而不是隐藏菜单等,而且第一个弹出窗口得到完整的大小加载,然后得到改变的大小,我已经指定

<asp:HyperLinkField DataNavigateUrlFields="FileName" DataTextField="FileName"
Target="_blank" DataNavigateUrlFormatString="javascript:var NewWin=window.open
('abc.aspx?EMPId={0}',null,'width=800,height=200,top=100,left=100,scrollbars=no,
directories=no,status=no,toolbar=no,resizable=no');"HeaderText="EMPId">

</asp:HyperLinkField>

如果我能为它们中的任何一个找到解决方案,那将非常有帮助。

我想也许你可以使用链接按钮而不是超链接。

尝试使用
HTMLAnchor
而不是
asp:Hyperlink

网格:

 <asp:TemplateField HeaderText="Options">
   <ItemTemplate>
       <a href="javascript:void(0);" id="aFooLink" runat="server">
        ClickMeDamnit</a>
   </ItemTemplate>
 </asp:TemplateField>
protected void grdDisplayResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        HyperLink aFooLink = (HyperLink)e.Row.Cells[2].Controls[0];
        aFooLink.Attributes.Add("onclick", "window.open('abc.aspx?EMPId=0','window','toolbar=no, menubar=no, resizable=yes,location=no,center:no;height=200px,width=300px,Top=1500,left=1500;statusbar:no;');");            
    }
} 

希望它对您有用。

您可以通过调用javascript函数并向其传递参数来实现这一点。您可以使用gridview的
RowDataBound
事件找到控制服务器端,并附加客户端事件以打开弹出窗口。在这里,您可以使用
Eval
将参数传递给函数&打开一个包含所需查询字符串值的弹出窗口。像这样的 在aspx上


Hi Mayank,感谢您的回复,但是我必须绑定本专栏中的数据,该ic来自数据库…它也适用于它吗?Hi link button适用于我,它可以根据我的需要打开弹出窗口,但是我有一个linkbutton问题,我无法添加另一个(非数据库值)查询字符串,我可以在hyperlinkfield中执行。如果我理解正确,您不必在RowDataBound中执行此操作。您可以执行类似这样的操作,而不必在RowDataBound中执行此操作。你可以这样做。然后在OnCommand中,获取RowNum,然后使用querystring将响应重定向到新页面。我假设lblRowNum绑定到一个字段。即使没有,您仍然可以传递.Text。删除
protected void grdDisplayResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        HyperLink aFooLink = (HyperLink)e.Row.Cells[2].Controls[0];
        aFooLink.Attributes.Add("onclick", "window.open('abc.aspx?EMPId=0','window','toolbar=no, menubar=no, resizable=yes,location=no,center:no;height=200px,width=300px,Top=1500,left=1500;statusbar:no;');");            
    }
} 
    <script language="text/javascript">
     function OpenPopup(id,name)
     {
          window.open('myWindow.aspx?id='+id+'&name='+name,'_blank',width=800,height=200,top=100,left=100,scrollbars=no,menubar=no,directories=no,status=no,toolbar=no,resizable=no,url=no');
     }
     </script>
if (e.Row.RowType == DataControlRowType.DataRow)
        { 
          LinkButton myLinkBtn= (LinkButton)e.Row.FindControl("yourControlid");
          if(myLinkBtn !=null)
          {
              myLinkBtn.Attributes.add('onclick','javascript:OpenPopup('"+ Eval(e.row.DataItem,"yourDbField1")+ "','"+ Eval(e.row.DataItem,"yourDbField2")+ "');return false;");
          }
        }