在我的Web应用程序中,我有一个主aspx页面,我有一个按钮点击该btn点击我正在调用ascx web用户控件,我正在使用一个javascript,我试图在其中发布数据同样的ascx,我知道我们可以在ascx页面发布数据..但是我想发布这怎么可能?
xhr.open('POST', '../test.ascx?Id=' + <%=Id%>, true); //Id is the property in ascx page
xhr.setRequestHeader('FILENAME', file.name);
xhr.send(file);
和onInit ..
if (!string.IsNullOrEmpty(Request.Headers["FileName"]))
{
string Name = Request.Headers["FileName"].ToString();
Stream Stream1 = Request.InputStream;
Add(Name, Stream1, Id);
}
答案 0 :(得分:1)
您无法直接发布到ascx控件。您应该发布到包含该控件的aspx页面。该页面将自动创建一个树,其中包含您在页面上静态声明的控件(在标记中)。动态控制需要特别小心。
之后,通常您会在早期事件处理程序(例如Page_Load())中解析传入的查询字符串或POST数据,并根据指示的控件进行所需的任何调用。
答案 1 :(得分:0)
你应该尝试使用一些jquery插件来帮助你在上传文件异步时提供进度和处理其他事件..一篇很好的文章http://blogs.technet.com/b/sateesh-arveti/archive/2010/11/19/ajax-file-upload-using-jquery.aspx
虽然有类似的问题你应该看看:
How can I upload files asynchronously?
问候。
答案 2 :(得分:0)
我们无法直接发布到ascx控件。所以我用处理程序来解决这个问题..
xhr.open('POST', '../Controls/test1.ashx?Id=' + '<%=Id%>', true);