首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#.net等价于JS .on()

C#.net等价于JS .on()
EN

Stack Overflow用户
提问于 2015-09-09 11:24:39
回答 1查看 124关注 0票数 0

我有一个带有<input type='file'>元素的aspx页面。我想使用C#保存通过这些控件上传的文件。我已经看到了一些解决方案(比如这一个),我可以在On_Load中使用这些解决方案。问题是,我的input控件将使用JS动态创建,而且我不希望每次上传图像时都回发。

C#中是否有与JS的.on()方法相当的方法,以便我可以将处理程序附加到未来的控件中?

编辑:正如@ input建议的那样,我在input控件中添加了一个onchange事件处理程序:

<input type="file" onchange="saveFile" runat="server">

我的.cs后面有一个.cs处理程序:

代码语言:javascript
复制
protected void saveFile(object sender, EventArgs e)
{
    var imagesDir = Server.MapPath("Images/");
    var uploader = sender as FileUpload;
    uploader.PostedFile.SaveAs(imagesDir + uploader.PostedFile.FileName);
}

当我通过input控件选择一个文件时,函数saveFile不会运行。我用onchange="alert('hi')"代替了onchange="alert('hi')"来检查事件是否被触发了,所以我显然遗漏了一些东西.可能与postback.asp页面循环有关吗?

EN

回答 1

Stack Overflow用户

发布于 2015-09-09 11:42:25

在我看来,您所描述的是一个EventHandler。也许本教程有关在ASP.NET表单页面中创建事件处理程序的内容可能对您有帮助。

如果我正确的理解你,你希望上传的文件,一旦他们被选中。html上传文件控件支持onChange事件来处理这个问题。在动态创建控件时,应该使用它定义onChange。出于安全考虑,不建议自动上传文件。

你会得到这样的东西:

代码语言:javascript
复制
<input type='file' onChange='MyEventHandler' runat='server'>

<script runat="server">
    protected void MyEventHandler(object sender, System.EventArgs e)
    {
        //do stuff
    }
</script>

我建议您阅读下面的文档,正如您对JavaScript熟悉的那样,也可能对您有用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32478256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档