如何将ASCX javascript中的数据发布到同一个ascx控件?

时间:2012-02-22 04:37:58

标签: c# javascript asp.net post

在我的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);
        }

3 个答案:

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