无法将类型为“System.Web.UI.WebControls.TextBox”的对象强制转换为类型“System.IConvertible”

ivanho 2009-09-09 01:00:44
Default.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:TextBox ID="Ima" runat="server"> </asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
style="height: 26px" Text="Button" />

<img src='Default.aspx?ImgID= <%#Eval("ID")%>' style="width: 198px">
</div>
</form>
</body>
</html>


Default.aspx.cs代码:


using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Data.SqlClient;


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection Con = new SqlConnection("Data Source=Localhost; Initial Catalog=EX_NEW; User ID=sa;Pwd=photosystem;");
String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = Convert.ToInt32(Ima);
Con.Open();
SqlDataReader SqlReader = CmdObj.ExecuteReader();
SqlReader.Read();
Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型
//输出图象文件二进制数制
Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]);
Response.End();
Con.Close();
}
}


"CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = Convert.ToInt32(Ima);"

报错:"无法将类型为“System.Web.UI.WebControls.TextBox”的对象强制转换为类型“System.IConvertible”。"
...全文
369 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ncjcz 2009-09-09
  • 打赏
  • 举报
回复
CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = Convert.ToInt32(Ima.Text);
还要先判断Ima.Text是否为数字,否则出错的
threenewbee 2009-09-09
  • 打赏
  • 举报
回复
CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = Convert.ToInt32(Ima.Text);

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧