小弟求教,一段JS(ASP.NET 1.1) JS根据DATAGRID选中相的值弹出对话框,内容是根据DATAGRID选中的值从数据库里调出来的,希望高手指点一下啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <span onclick="javascript:ShowWindow('<%#Eval("field")%>') >点击</span> 你是指参数还是?参数多个字段就往后面加.<span onclick="javascript:ShowWindow(' <%#Eval("field")%>',' <%#Eval("field2")%>')" >点击 </span> 不是参数,参数就一个,但根据这个参数调出来的内容有很多<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>根据申请人,然后调他的详细资料 你想弹出一个新窗口,显示你要的值,还是就在你原来窗口用一个Div框显示? 如果资料太多,不如链接到一个页面,或用ajax根据关键字再查一次数据库 弹新窗口比较简单弹DIV要用AJAX 如果要根据选中行 类似获取ID再从数据库查询1 使用AJAX读取数据,然后根据返回的值弹出对话框,可以参考这个:参考 或者使用AJAX+WebService2 或者添加OnSelectedIndexChanging事件,在事件方法中处理 我也知道用新窗口简单啊,可是公司要求就是这样。被逼无奈啊。或者可不可以把值传到另一个页面,然后把要的东西放在ModalDialog在本页面显示呢 兴建一个 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显示你要的数据。} 是这么写不?<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>服务器标记的格式不正确...... onclick =<%# "window.showModalDialog('detail.aspx?value="+ Eval("Name")+"');"%> onclick =<%# "window.showModalDialog('detail.aspx?value="+ Eval("Name")+"');"%>试试 <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 onclick =<%# "window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%> onclick =<%# "javascript:window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%> 生成的HTML 代码是 什么 ,你把相关的部分贴上来就可以了 <a id="dgdInfo__ctl2_lbtnName" href="javascript:__doPostBack('dgdInfo$_ctl2$lbtnName','')">321</a></FONT> OnClientClick=<%# "javascript:window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%> 你用的是 LinkButton ,你是想回发 触发后台事件,还是要 弹出模式窗体啊 如果是LinkButton就把onclick改为OnClientClick 再弱弱的问下datagrid里嵌套的控件怎么注册客户端事件啊,想把这个放一个事件里处理就不用绑这么多值了 经理中午回来了,给了我一段代码,可我不知道嵌套在datagrid中的控件怎么注册事件 忘了你是1.1了这样写,在DataGrid 的OnItemDataBound 事件中,查找 要绑定的控件例如 LinkButton<asp:LinkButton id=lbtnName runat="server" ((LinkButton)e.Item.FindControl("lbtnName")).Attributes.Add("onclick", "event"); 后台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的? 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> 前台不用写 OnClick = "getInfo();" 感觉被耍了。。他们用的是ultrawebgrid,可经理跟我说的使用datagrid。。结贴了,谢谢各位的帮忙 有谁可以给我一份关于ASP.NET的英文文献和翻译 急用!!!! 关于sql2000和2005的问题 [11.22]请问:MSSQL搜索如何优化? 双击aspx中的控件怎么打开aspx.cs文件? 一个网站取消了匿名登陆,集成的是域帐户登陆!!!!做个form表单如何登陆这个站点? 一个datetime的问题?? 请问如何获取图像文件的长和宽? 怎样使用临时表啊??? Dreamweaver怎么改变字体颜色 ASP.net中如何实现动态绘图 求大文件上传(100M左右)解决方案 nhibernate问题
<span onclick="javascript:ShowWindow(' <%#Eval("field")%>',' <%#Eval("field2")%>')"
>点击 </span>
<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>
根据申请人,然后调他的详细资料
还是就在你原来窗口用一个Div框显示?
弹DIV要用AJAX
1 使用AJAX读取数据,然后根据返回的值弹出对话框,可以参考这个:参考
或者使用AJAX+WebService2 或者添加OnSelectedIndexChanging事件,在事件方法中处理
把慕白兄的
<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显示你要的数据。
}
<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>
服务器标记的格式不正确......
onclick =<%# "window.showModalDialog('detail.aspx?value="+ Eval("Name")+"');"%>
试试
服务器标记的格式不正确......
公司用的是VS2003
onclick =<%# "window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%>
onclick =<%# "javascript:window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%>
OnClientClick=<%# "javascript:window.showModalDialog('detail.aspx?value=" + DataBinder.Eval(Container.DataItem,"Name")+ "');"%>
例如 LinkButton
<asp:LinkButton id=lbtnName runat="server"
((LinkButton)e.Item.FindControl("lbtnName")).Attributes.Add("onclick", "event");
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的?
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>