如何使用C#手动调用fileupload控件的onchange事件

时间:2015-08-19 05:45:56

标签: javascript c# asp.net

我有一个带文件上传控制器的网页图像。

 <img src='#' id='imageId' alt='your image' height='64' width='64' src='placeholder.png' class='placeholder' >

 <input type='file' id='myID' onchange='previewImage(this)' accept='image/*' data-thumbnail='imageId'>

实际上,上面的HTML代码来自我的asp代码。

好的。现在我想做的是用手动编码生成这两个组件。
所以我就这样开始。

    System.Web.UI.WebControls.Image preview = new System.Web.UI.WebControls.Image();
    preview.ID = "imageId";
    preview.Height = 64;
    preview.Width = 64;

    FileUpload tt = new FileUpload();
    tt.ID = "myID";

但是原始HTML代码中仍然存在一些属性。我不确切知道如何使用C#代码实现它们。

进一步的&#34; onchange&#34;必须实现文件上传控件的事件。

&#34; previewImage(this)&#34;是用于预览所选图像的javascript函数。

Sp请帮我用c#代码解决这些问题。

3 个答案:

答案 0 :(得分:2)

试试这个,

tt.Attributes.Add("onchange", "previewImage()");

答案 1 :(得分:1)

这可以帮到你:

tt.Attributes["onchange"] = "previewImage(this)";

答案 2 :(得分:1)

我认为这可能对你有帮助......

<强>的javascript

<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script> 

<script type="text/javascript">
        function previewImage(input) {
        if (input.files && input.files[0]) {
            var reader = new FileReader(); 

            reader.onload = function (e) {
            $('#imageId').attr('src', e.target.result);
            };
            reader.readAsDataURL(input.files[0]);
        }
      }
 </script>  


<img src='#' id='imageId' alt='your image' height='64' width='64' class='placeholder' >
<input type='file' id='myID' onchange='previewImage(this)' >

在c#

中调用此函数
ScriptManager.RegisterStartupScript(this, this.GetType(), "Javascript", "javascript:previewImage(input); ", true);