我是在TemplateColumn中的EditItemTemplate中,添加了一个html控件<INPUT id="File2" type="file" runat="server"> 也就是上传文件的那个控件.把它转化为服务器控件了.由于不能直接以文件名(File2)的形式 调用这个控件(不知道是我机器的问题,还是根本就不能这么调用,在TemplateColumn中的EditItemTemplate中),我想在UpdateCommand中,以((TextBox)e.Item.FindControl("Textbox2")).Text这种方式调用它.但是不知道该把这个HTML控件 当做什么类型的控件来调用.我用(TextBox)这种类型无效果.请问应该用什么类型来转化呢???或者有什么其他的方法转化???谢谢~~
解决方案 »
- DNS LookUp Failed (IIS7.0配置的本地网络)
- UpdatePanel中在使用Jquery时出错?
- asp.net2.0下(用c#语言),侧边浮动客服,会随着滚动条滚动
- farpoint 限制拖动列头 在线等
- 超时时间已到。在操作完成之前超时时间已过或服务器未响应
- 连接数据库时的奇怪问题。
- ascx出错:类型“TextBox”的控件“usermodify_TBPASSOLD”必须放在具有 runat=server 的窗体标记内,怎么解决!
- LR测试cs软件,协议是windows sockets,回放时总是10053错误...
- 蛙蛙请教:在web里做套打需要解决的几个问题?
- 为什么在DataGrid的<%# %>块儿中调用不了在用户控件中定义的方法?
- web项目网络方案问题!
- treeview的节点删除问题
生成错误:只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句代码如下:高手帮忙看下哪里错误了~~~private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string uName=(string)Session["Name"].ToString().Trim();
string missionID=e.Item.Cells[2].Text;
string missionText=((TextBox)e.Item.FindControl("Textbox2")).Text;
//(HtmlInputFile)File2=((HtmlInputFile)e.Item.FindControl("File2"));
Session["path"]="无";
if((((HtmlInputFile)e.Item.FindControl("File2")).PostedFile!=null)&&((((HtmlInputFile)e.Item.FindControl("File2")).PostedFile.ContentLength > 0)))
{
string fn=Path.GetFileName(((HtmlInputFile)e.Item.FindControl("File2")).PostedFile.FileName);
string SaveLocation;
SaveLocation = Server.MapPath("upload")+"\\"+fn;
Session["path"]=SaveLocation; try
{
(((HtmlInputFile)e.Item.FindControl("File2")).PostedFile.SaveAs(SaveLocation));
}
catch(Exception)
{
Response.Write(@"<script language='JavaScripr'>alert('文件存档失败')</script>");
}
} string connection=ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection conn=new SqlConnection(connection); string CommandText="UPDATE information SET Report=@Report,fujian=@fujian WHERE m_id=@id";
SqlCommand cmd=new SqlCommand(CommandText,conn);
conn.Open();
cmd.Parameters.Add("@Report",missionText);
cmd.Parameters.Add("@fujian",(string)Session["path"].ToString());
cmd.Parameters.Add("@id",missionID); cmd.ExecuteNonQuery();
conn.Close(); DataGrid1.EditItemIndex = -1;
bindgrid();
HtmlInputFile File2=((HtmlInputFile)e.Item.FindControl("File2"));
就可以了
因为你File2在CS中并没有定义得,所以上面那种写法是错误得