下面的代码动态创建了一个HtmlInputFile和Image 
tr = new TableRow();
tr.ID = "TabNum" + r.ToString();
tc = new TableCell();
HtmlInputFile fl = new HtmlInputFile();
fl.ID = "FileNum" + mg.ToString();
tc.Controls.Add(fl);
tc.BorderWidth = 1;
tc.HorizontalAlign = HorizontalAlign.Center;
tc.Font.Bold = true;
tr.Cells.Add(tc);
Table1.Rows.Add(tr);
((ArrayList)Session["Text"]).Add(fl);
((ArrayList)Session["tr"]).Add(tr);r++;
tr = new TableRow();
tr.ID = "TabNum" + r.ToString();
tc = new TableCell();
System.Web.UI.WebControls.Image ig = new System.Web.UI.WebControls.Image();
ig.ID = "ImgNum" + mg.ToString();
tc.Controls.Add(ig);
tc.BorderWidth = 1;
tc.HorizontalAlign = HorizontalAlign.Center;
tc.Font.Bold = true;
tr.Cells.Add(tc);
Table1.Rows.Add(tr);
现想实现为HtmlInputFile控件增加一个脚本事件响应,当HtmlInputFile选中一张图片后Image控件能显示这张图片。

解决方案 »

  1.   

    assume it is on the client side, tryfl.Attributes["onpropertychange"]= String.Format("javascript:document.getElementById('{0}').src=this.value;", ig.ClientID);
      

  2.   

    试了一下,产生了如下一段页面文件,但是Image还是不能显示图片。
    <div>
            <input type="submit" name="Button1" value="Button" id="Button1" />
            <table id="Table1" border="0">
    <tr id="TabNum0_0">
    <td align="center" style="border-width:1px;border-style:solid;font-weight:bold;"><input name="ImgNum0_0" type="text" id="ImgNum0_0" /></td>
    </tr><tr id="TabNum1_0">
    <td align="center" style="border-width:1px;border-style:solid;font-weight:bold;"><input name="FileNum0_0" type="file" id="FileNum0_0" onchange="javascript:document.getElementById('ImgNum0_0').src=this.value;" /></td>
    </tr><tr id="TabNum2_0">
    <td align="center" style="border-width:1px;border-style:solid;font-weight:bold;"><img id="ImgNum0_0" src="" style="border-width:0px;" /></td>
    </tr>
    </table>
        
        </div>
    老大能否再帮我看看是什么原因?
      

  3.   

    ;"><input name="FileNum0_0" type="file" id="FileNum0_0" onchange="javascript:document.getElementById('ImgNum0_0').src=this.value;" />中的this.value?你这个没有value啊
      

  4.   

    惭愧!惭愧!
    是我自己把;<input name="ImgNum0_0" type="text" id="ImgNum0_0" />这个TextBox控件的id值误写成和Image的id一样了。
    问题已解决,谢谢saucer(思归)老大。