关于HtmlInputFile的问题,快帮忙看看。急

小崔爱读书 2004-09-23 12:46:30
我希望作一个照片的用户控件,在这个控件中,有一个Image,一个添加按钮AddBtn<Input ID=AddBtn type=button onclick=HIF.click()>,提交按钮SubmitBtn<input ID=SubmitBtn type=submit>,还有一个HtmlInputFile<input type=file id=HIF runat=server>,ID为HIF,HIF我设为隐藏,AddBtn的客户端点击事件设为HIF的点击事件,HIF客户端的onchange事件修改Image的值。做成一个利用按钮提交图片的效果。
问题是,效果看上去不错,但提交的时候不能得到文件,甚至在提交的时候根本就不响应服务器端信息。如果我把HtmlInputFile改为<Input type=file id=HIF>后就能得到文件了。这是什么原因呢?
注意:我的Form已经设置了。
...全文
259 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
小崔爱读书 2004-10-08
  • 打赏
  • 举报
回复
这样是没有用的,我要得是上传,我看“ 2002pine(在深圳真的很累) ”真的没有明白我说得是什么意思。
2002pine 2004-09-29
  • 打赏
  • 举报
回复
<INPUT id="txtfile" style="DISPLAY:none; Z-INDEX:103; LEFT:128px; POSITION:absolute; TOP:304px"
type="file" onpropertychange="document.all.myfile.value=this.value">
<asp:button id="Button2" style="Z-INDEX: 104; LEFT: 424px; POSITION: absolute; TOP: 304px" runat="server"
Text="Button"></asp:button>
<INPUT style="Z-INDEX: 106; LEFT: 304px; POSITION: absolute; TOP: 360px" type="button"
value="browse..." onclick="window.document.all.txtfile.click();">
<asp:TextBox id="myfile" style="Z-INDEX: 107; LEFT: 144px; POSITION: absolute; TOP: 360px" runat="server"></asp:TextBox>

happyjun2000 2004-09-29
  • 打赏
  • 举报
回复
没有试通过,
帮你顶!!!
小崔爱读书 2004-09-28
  • 打赏
  • 举报
回复
这个贴这样我真没法结贴。谁能真正试试呀,用服务器控件确实无法实现。
我的msn是cuipy@163.com
Seeko0 2004-09-25
  • 打赏
  • 举报
回复
<INPUT type="button" value="Client" onclick="BtnClick(<%=TextBox1.ClientID%>)"> //??? 这个写法比较奇怪,看来是习惯asp的写法了


<INPUT type="button" value="Client" onclick="return BtnClick()">

<script language="javascript">
function BtnClick()
{
document.getElementById("TextBox1").value="崔鹏宇";
}
</script>

//换成客户端控件,可以使用Request.Files[0]来获取上传的文件,
但是需要指定 file控件的enctype="multipart/form-data"
如果是服务器控件会自动添加该属性
小崔爱读书 2004-09-24
  • 打赏
  • 举报
回复
服务器控件不行,如果全换成客户端控件可以,但我怎么拿数据呀。难道用Request.Form呀。
nanhaoff 2004-09-23
  • 打赏
  • 举报
回复
全部换成服务器控件来做
小崔爱读书 2004-09-23
  • 打赏
  • 举报
回复
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<INPUT type="button" value="Client" onclick="BtnClick(<%=TextBox1.ClientID%>)"></FONT>
<asp:Button id="Server" runat="server" Text="Server"></asp:Button>
</form>
<script language="javascript">
function BtnClick(TB)
{
TB.value="崔鹏宇";
}

</script>
服务器按钮Server的按钮触发事件是Response.Write(TextBox1.Text);
但用脚步执行赋值给TextBox1后根本就传不到服务器上。
小崔爱读书 2004-09-23
  • 打赏
  • 举报
回复
我明白怎么回事了,asp.net在页面中有一个viewstate隐藏控件,所有的数据上传是用这个控件来完成的,但通过javascript操作动态触发事件是不对该控件进行赋值的。
大家觉得我说得对吗?如果对怎么解决呀?
小崔爱读书 2004-09-23
  • 打赏
  • 举报
回复
青青岛,你可能一点都没有明白我的意思。不是那个,隐藏是写的HIF.style.add("display","none"),这样是在客户端隐藏的。但不能动态触发click事件,就是说,用另一个按钮的click事件触发<%=HIF.ClientID%>.click(),这个样的,能产生这个效果,但当Submit的时候文件并不能发送到服务器。
qqdao 2004-09-23
  • 打赏
  • 举报
回复
runat=server后Visible如果=false他并不是简单的隐藏,而是根本就不能用,是不是这个问题呢?
qqdao 2004-09-23
  • 打赏
  • 举报
回复
他是想替换那个 浏览 按钮而已
小崔爱读书 2004-09-23
  • 打赏
  • 举报
回复
青青岛可能没明白我说的什么意思,我能够在客户端修改图片控件的值,但无法用一个按钮触发file控件后使file控件可以上传文件。
另外,我也照顾了控件ID在客户端的问题。
我就是没有办法。刚才看到国外有一个帖子跟我的问题一样,但我英文不好,计算机水平也不好,所以可能看不明白。高手帮忙看看这个帖子。http://p2p.wrox.com/topic.asp?TOPIC_ID=4772
yingshis 2004-09-23
  • 打赏
  • 举报
回复
up
qqdao 2004-09-23
  • 打赏
  • 举报
回复
对了,你做的是一个控件,可能要涉及到托管上传事件才行
qqdao 2004-09-23
  • 打赏
  • 举报
回复
我想了一个变通的办法你看行不行
<INPUT id="FileImage" type="file" onchange="s();" name="FileImage" runat="server">
<asp:image id="ImgImage" runat="server" Width="25px" Height="25px" ImageUrl="../images/blank.gif"></asp:image>
<script language="javascript">
//根据上传控件的选定值,获取图像的宽度
var img=null;
function s()
{
img=document.createElement("img");
img.src=document.all.FileImage.value;
document.all.ImgImage.src=img.src;
}

</script>
不需要你的那么复杂,现在实现的功能就是,只要用户选择了图片,那么那个图像控件就自动显示。图像内容,当然,提交后,后台肯定能取到FileImage.PostedFile
你还可以在显示的函数里,判断一下是不是图像,我就不一一写了
coley 2004-09-23
  • 打赏
  • 举报
回复
都换成服务器控件来做~
huangsuipeng 2004-09-23
  • 打赏
  • 举报
回复
用户控件中的控件的ID为 用户控件名_控件名
有无注意一下这个问题?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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