JS根据DATAGRID选中相的值弹出对话框,内容是根据DATAGRID选中的值从数据库里调出来的,希望高手指点一下啊

解决方案 »

  1.   

    <span onclick="javascript:ShowWindow('<%#Eval("field")%>') >点击</span>
      

  2.   

    你是指参数还是?参数多个字段就往后面加.
    <span onclick="javascript:ShowWindow(' <%#Eval("field")%>',' <%#Eval("field2")%>')"
     >点击 </span> 
      

  3.   

    不是参数,参数就一个,但根据这个参数调出来的内容有很多
    <asp:DataGrid id="dgdInfo" runat="server" Width="100%" AutoGenerateColumns="False" DataKeyField="project_id">
    <Columns>
    <asp:TemplateColumn HeaderText="申请人">
    <ItemTemplate>
    <FONT face="宋体">
    <asp:LinkButton id=lbtnName runat="server" CommandName="Show" text='<%# DataBinder.Eval(Container.DataItem,"Name")%>' OnClick="GetInfo();">
    </asp:LinkButton></FONT>
    </ItemTemplate>
    </asp:TemplateColumn>
    根据申请人,然后调他的详细资料
      

  4.   

    你想弹出一个新窗口,显示你要的值,
    还是就在你原来窗口用一个Div框显示?
      

  5.   

    如果资料太多,不如链接到一个页面,或用ajax根据关键字再查一次数据库
      

  6.   

    弹新窗口比较简单
    弹DIV要用AJAX
      

  7.   

    如果要根据选中行 类似获取ID再从数据库查询
    1 使用AJAX读取数据,然后根据返回的值弹出对话框,可以参考这个:参考
      或者使用AJAX+WebService2 或者添加OnSelectedIndexChanging事件,在事件方法中处理
      

  8.   

    我也知道用新窗口简单啊,可是公司要求就是这样。被逼无奈啊。或者可不可以把值传到另一个页面,然后把要的东西放在ModalDialog在本页面显示呢
      

  9.   

    兴建一个 detail.aspx
    把慕白兄的
    <span onclick="javascript:ShowWindow(' <%#Eval("field")%>') >点击 </span> 
    改为
    onclick = "window.showModalDialog('detail.aspx?value=<%#Eval("field")%>');在detail.aspx页面里用
     if (Request.QueryString["value"]!=null)
    {        
       string id = Request.QueryString["value"].Trim();
       FillControl(id );//根据ID显示你要的数据。
    }
      

  10.   

    是这么写不?
    <asp:LinkButton id=lbtnName runat="server" CommandName="Show" text='<%# DataBinder.Eval(Container.DataItem,"Name")%>' onclick = "window.showModalDialog('detail.aspx?value=<%# DataBinder.Eval(Container.DataItem,"Name")%>');"> </asp:LinkButton>
    服务器标记的格式不正确......
      

  11.   


    onclick =<%# "window.showModalDialog('detail.aspx?value="+  Eval("Name")+"');"%>
      

  12.   

    onclick =<%# "window.showModalDialog('detail.aspx?value="+  Eval("Name")+"');"%>
    试试
      

  13.   

    <asp:LinkButton id=lbtnName runat="server" CommandName="Show" text='<%# DataBinder.Eval(Container.DataItem,"Name")%>' onclick = "window.showModalDialog('detail.aspx?value=" + <%# DataBinder.Eval(Container.DataItem,"Name")%>'");"> </asp:LinkButton>
    服务器标记的格式不正确...... 
    公司用的是VS2003
      

  14.   


    onclick =<%# "window.showModalDialog('detail.aspx?value=" +  DataBinder.Eval(Container.DataItem,"Name")+ "');"%>
      

  15.   


    onclick =<%# "javascript:window.showModalDialog('detail.aspx?value=" +  DataBinder.Eval(Container.DataItem,"Name")+ "');"%>
      

  16.   

    生成的HTML 代码是 什么 ,你把相关的部分贴上来就可以了
      

  17.   

    <a id="dgdInfo__ctl2_lbtnName" href="javascript:__doPostBack('dgdInfo$_ctl2$lbtnName','')">321</a></FONT>
      

  18.   


    OnClientClick=<%# "javascript:window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%>
      

  19.   

    你用的是 LinkButton ,你是想回发 触发后台事件,还是要 弹出模式窗体啊
      

  20.   

    如果是LinkButton就把onclick改为OnClientClick
      

  21.   

    再弱弱的问下datagrid里嵌套的控件怎么注册客户端事件啊,想把这个放一个事件里处理就不用绑这么多值了
      

  22.   

    经理中午回来了,给了我一段代码,可我不知道嵌套在datagrid中的控件怎么注册事件
      

  23.   

    忘了你是1.1了这样写,在DataGrid  的OnItemDataBound 事件中,查找 要绑定的控件
    例如 LinkButton
    <asp:LinkButton id=lbtnName runat="server" 
    ((LinkButton)e.Item.FindControl("lbtnName")).Attributes.Add("onclick", "event");
      

  24.   

    后台
    private void dgdInfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    ((LinkButton)e.Item.FindControl("lbtnName")).Attributes.Add("onclick", "getInfo();");
    }
    前台
    <asp:LinkButton id=lbtnName runat="server" CommandName="Show" text='<%# DataBinder.Eval(Container.DataItem,"Name")%>' OnClick = "getInfo();">
    </asp:LinkButton>貌似没有你说的那个事件
    是不是你说的那个事件是2.0的?
      

  25.   


    private void dgdInfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    ((LinkButton)e.Item.FindControl("lbtnName")).Attributes.Add("onclick", "getInfo();");//如果不想回发 ((LinkButton)e.Item.FindControl("lbtnName")).Attributes.Add("onclick", "getInfo();return false;");

    <asp:LinkButton id="lbtnName" runat="server" CommandName="Show" text=' <%# DataBinder.Eval(Container.DataItem,"Name")%>' >
    </asp:LinkButton> 
      

  26.   

    前台不用写 OnClick = "getInfo();"
      

  27.   

    感觉被耍了。。他们用的是ultrawebgrid,可经理跟我说的使用datagrid。。结贴了,谢谢各位的帮忙