asp.net的GridView模版使用LinkButton问题

asp.net的GridView模版使用LinkButton问题
我用VS2008的GridView控件取数据库的值做新闻显示,
前台代码如下(部分):
Width="318px" AutoGenerateColumns="False" Font-Size="11pt" OnRowCommand="GridView_xw_RowCommand"
DataSourceID="SqlDataSource_xw" PageSize="8" OnRowDataBound="GridView_xw_RowDataBound"
CellSpacing="2">




 ・




CommandArgument='<%# DataBinder.Eval(Container.DataItem,"id") %>'
CommandName="xw" Text='<%# DataBinder.Eval(Container.DataItem,"bt") %>'>





相应的后台代码如下(部分):
protected void GridView_xw_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "xw")
{
string id = e.CommandArgument.ToString();
Response.Redirect("xw.aspx?id=" + id);
Response.End();
}
}
运行似乎正常,点击新闻也能显示到相应的新闻,但如果用鼠标点住相应的新闻,点右键选“在新窗口中打开”是则显示“缺少对象”出错,显示在地址栏的为:
javascript:__doPostBack('GridView_xw$ctl03$LinkButton1','')
查看源代码,其URL就是上面的串!
谁能帮我解决啊!急!
回答很好,谢谢!
我还想问一句:是否所有的LinkButton在任何地方都是这样的问题?是否不应该用LinkButton?
用JS转向的链接,点右键选“在新窗口中打轮陵开”是会出现你所的问题的,好象改不了,腊嫌戚因为你是在新窗口运行javascript:__doPostBack('GridView_xw$ctl03$LinkButton1','')
这个JS代码,而新窗口当然是没有定义__doPostBack这个方法的,所以报错,者世“缺少对象”。

一定要改的话,只能把ItemTemplate改成链接的形式,而不是LinkButton
语法细节自己改下吧

'><%# DataBinder.Eval(Container.DataItem,"bt") %>'

← 上一篇: 下一篇: →