积极答复者
LinkButton 弹出含有指定图片的窗口的问题

问题
-
参数CID、 SumbitNumber 存在于SQL数据库中ContractTable中,CID是自增量为1的主键, SumbitNumber是送审单的编号,在文件夹"~/Pictures/SumbitNumberPic/“中有以SumbitNumber命名的JPG文件,例如:SumbitNumber为HS2015001,则有HS2015001.jpg的图片 。
在gridView中把SumbitNumber改成LinkButton形式,点击就能弹出相应的图片。
下面我的代码中,已经可以Response出SumbitNumber相应图片的位置了,但最后仍然无法点击弹出相应图片只有如图所示的错误。不
知如何是好,请各位帮忙看看,谢谢。
==========================图片=========================
=========================前台代码=======================
<asp:TemplateField HeaderText="送审单111" SortExpression="送审单"> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("送审单") %>' CommandName="SongShenDan">点击</asp:LinkButton> <%--<asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("送审单") %>' CommandName="SongShenDan">HyperLink</asp:HyperLink>--%> </ItemTemplate> </asp:TemplateField>
==============================后台代码================================
protected void GridView_ContractTable_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "SongShenDan") { GridViewRow drv = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;//此得出的值是表示那行被选中的索引值 int id = Convert.ToInt32(GridView_ContractTable.Rows[drv.RowIndex].Cells[0].Text); //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drv.RowIndex取得是选中行的索引 string strid = id.ToString(); //Response.Write(id); string strconn = "Data Source=.;Initial Catalog=长铁物业公司资产数据库;Integrated Security=True"; SqlConnection cn = new SqlConnection(strconn); cn.Open(); string SumbitPictureUrl = ""; SumbitPictureUrl = "select SumbitNumber from ContractTable where CID='" + strid + "'"; SqlCommand cm = new SqlCommand(SumbitPictureUrl, cn); SqlDataReader dr = cm.ExecuteReader(); dr.Read(); string strSumbitNumber = dr["SumbitNumber"].ToString(); //if (dr.Read()) //{ //Response.Write(strSumbitNumber); string a1 = "~/Pictures/SumbitNumberPic/" + strSumbitNumber+ ".jpg"; Response.Write(a1); //string spUrl = str2; ((LinkButton)this.GridView_ContractTable.FindControl("LinkButton1")).PostBackUrl = a1; //((LinkButton)this.GridView_ContractTable.FindControl("LinkButton1")).PostBackUrl = "~/indexnull.htm"; //} //else //{ ((HyperLink)this.FormView1.FindControl("HyperLink_SumbitNumberPic")).NavigateUrl = "~/indexnull.htm"; } cn.Close(); } }
C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。
- 已编辑 linjiangxian11 2015年3月4日 9:01
答案
-
这样解决了,谢谢!
string a1 = this.Page.ResolveUrl("~/Pictures/SumbitNumberPic/" + strSumbitNumber + ".jpg"); var scp = string.Format("window.open('{0}')", a1); ScriptManager.RegisterStartupScript(this, this.GetType(), "打开图片", scp, true);
C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。
- 已标记为答案 linjiangxian11 2015年3月10日 3:00
全部回复
-
这样解决了,谢谢!
string a1 = this.Page.ResolveUrl("~/Pictures/SumbitNumberPic/" + strSumbitNumber + ".jpg"); var scp = string.Format("window.open('{0}')", a1); ScriptManager.RegisterStartupScript(this, this.GetType(), "打开图片", scp, true);
C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。
- 已标记为答案 linjiangxian11 2015年3月10日 3:00