datagrid里直接点某一列的text,可以打开新的page。
用ie自带的“在新窗口中打开”,发现打开的page的地址是:
javascript:__doPostBack('DataGrid1$_ctl8$_ctl1','')请问如何处理,才能使“在新窗口中打开”能正常工作啊?
用ie自带的“在新窗口中打开”,发现打开的page的地址是:
javascript:__doPostBack('DataGrid1$_ctl8$_ctl1','')请问如何处理,才能使“在新窗口中打开”能正常工作啊?
解决方案 »
- 通过HTTP获取远程目录及目录下所有文件
- 我要做成B/S的,只有服务器开一个软件,别人才能登陆服务器,否则不能.可以实现吗?
- 有人帮我吗
- 联动菜单 我用XMLHTTP两次怎么实现?
- ASP.NET中如何使用ACTIVEX控件?
- 急问一条正则表达式,以及如何使用!!!在线等!
- 用Jmail发信把 dll 放到Bin 目录下,就可以了吗? 服务器上要安装Jmail吗??搞不清
- 我在DataList中放置了一个linkbutton,我想让这个Linkbutton动态的显示和隐藏,如何做?
- DataGrid翻页问题!高手帮帮忙啊!
- .net web vs2008的aspx页面js函数在启动谷歌浏览器调试时候自动执行
- 帮帮我
- 邮件服务问题--未能访问“CDO.Message”对象
{ //特效
if(e.Item.ItemIndex!=-1)
{
int orderid=e.Item.ItemIndex+1;
e.Item.Cells[0].Text=orderid.ToString();
e.Item.Attributes.Add("onmouseover","this.setAttribute('BKC',this.style.backgroundColor);this.style.backgroundColor='#3a6ea5'");
e.Item.Attributes .Add("onmouseout","this.style.backgroundColor=this.getAttribute('BKC');");
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item)
{
//弹出一个完整的IE窗口
e.Item.Attributes.Add("onclick","window.open('message.aspx?actid="+e.Item.Cells[1].Text+"');");
// e.Item.Attributes.Add("onclick","window.open('detail.aspx?ID="+e.Item.Cells[1].Text+"');");
////隐藏菜单栏地址栏工具条的IE,以下变量分别是新窗口的名字,窗口的宽度、高度,有滚动条,窗口距离屏幕上方和左侧的象素值
//e.Item.Attributes.Add("onclick","window.open('detail.aspx?ID="+e.Item.Cells[1].Text+"','newwin','width=750,height=600,scrollbars=yes,top=50,left=50');");
}
}
}
而使用asp:hyperlink控件
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
DataTable Cart;
DataView CartView;
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("ID", typeof(Int32)));
dt.Columns.Add(new DataColumn("UserName", typeof(string)));
dt.Columns.Add(new DataColumn("Score", typeof(double)));
for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "学生 " + i.ToString();
dr[2] = 30 + i*10;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Need to load this data only once.
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}
}
public static string GetScore(int intScore)
{
if(intScore > 80 )
return "优秀";
else if(intScore > 60)
return "良好";
else if(intScore == 60)
return "及格";
else if(intScore <60)
return "差";
return "";
}
</script><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>DataGrid Bind Score Sample</title>
</head>
<body>
<form runat=server> <h3>DataGrid Bind Score Sample Code By LaoDai_Net </h3>
<asp:DataGrid id="ItemsGrid" runat="server"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="true"
AutoGenerateColumns="false">
<Columns>
<asp:TemplateColumn SortExpression="Score" HeaderText="ID">
<HeaderStyle Wrap="False" Width="100%"></HeaderStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Score") %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="UserName" HeaderText="学生姓名">
<HeaderStyle Wrap="False" Width="100%"></HeaderStyle>
<ItemTemplate>
<a href="test.aspx" target="_blank"><%# DataBinder.Eval(Container.DataItem, "UserName") %></a>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Score" HeaderText="学生成绩">
<HeaderStyle Wrap="False" Width="100%"></HeaderStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Score") %>
</ItemTemplate>
</asp:TemplateColumn> <asp:TemplateColumn SortExpression="Score" HeaderText="成绩等级">
<HeaderStyle Wrap="False" Width="100%"></HeaderStyle>
<ItemTemplate>
<%# GetScore(Int32.Parse(DataBinder.Eval(Container.DataItem,"Score").ToString())) %>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form></body>
</html>
在模板列中这样写就行..
<a href="/Expert/TopicView1.asp?id=4072059" target="_blank">从一个页面转到另一个页面,我想让两个页面都呈现出来,就像我们单击CSDN首页登录一样,登录界面出来了,CSDN首页并不消失,要实现这个,该怎么做?</a>
就行了....