如何用c#手动调用文件上传控件的onchange事件

本文关键字:控件 onchange 事件 文件 何用 调用 | 更新日期: 2023-09-27 18:08:50

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

 <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'>


好吧. .现在我要做的是用手工编码生成这两个组件。
我像这样开始。

    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#代码实现它们。



"previewImage(this)"是一个javascript函数,我用它来预览选中的图像。

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

如何用c#手动调用文件上传控件的onchange事件

试试这个,

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

这可能对你有帮助:

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

我想这可能对你有帮助。

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);