日期:2014-05-17  浏览次数:20464 次

A页面有一个ImageButton,其ImageUrl为B页面,怎么从B页面获得A页面的控件???
A页面有一个ImageButton,其ImageUrl为B页面,怎么从B页面获得A页面的控件???
我通过调试发现B页面的Page.PreviousPage和Page.Parent都为null,那我要怎么获得A页面某个控件的控件值?
急,谢谢指点!!!

//-------------A.aspx------------------//
<script type="text/javascript">
    function getBmp() {
        document.getElementById("tbHid").Text = "/9j/4A..."; //文本内容为JPG图片的base64字符串,后面的部分省略了
        document.getElementById("imgBmp").src = "B.aspx";
    }
}
</script>
<asp:TextBox id="tbHid" runat="server" style="display:none" />
<asp:ImageButton runat="server" ID="imgBmp" onclientclick="getBmp()" ImageUrl="a.gif"/>

//-------------B.aspx.cs------------------//
protected void Page_Load(object sender, EventArgs e)
{   
//TextBox tbox = (TextBox)Page.PreviousPage.FindControl("tbHid");
    TextBox tbox = (TextBox)Page.Parent.Parent.FindControl("tbHid");
    string picStr = tbox.Text;
    Byte[] bitmapData = Convert.FromBase64String(picStr);
    Response.BinaryWrite(bitmapData);
}
asp ImageButton ImageUrl 传值

------解决方案--------------------
引用:
引用:
Request.From["tbHid"]
具体怎么做?谢谢帮助!!!



只要定义了posturl,他会把当前控件的值用post的形式传给posturl定义的页面

在posturl页面里面
只要用Request.From[控件的名称name(不一定都是控件ID)]来获取post过来的值
具体可以在当前页用<%= 控件.UniqueID %>查看
------解决方案--------------------
引用:
引用:把B.aspx改为用户控件(B.ascx)即可.
怎么个改法啊。。。为什么.ascx就可以了?
麻烦简单写下过程。。。多谢!!!
真的很急,项目很紧,已经耽误2天,再耽误不起了。


Refer:


http://www.cnblogs.com/insus/archive/2013/03/08/2950300.html
------解决方案--------------------
我可以浅浅地告诉你问题出在哪里:

根本没有什么“A页面、B页面”这回事。asp.net页面Page对象一瞬间就销毁了,存在的只是在浏览器前端上的两个html页面,当你设计这个处理流程时根本不应该考虑什么asp.net页面存在。

你应该学一些javascript知识,知道他们在客户端浏览器上的关系(比如修改你的连接使用javascript实现链接从而使用javascript的Opener机制,或者别的方法)。
------解决方案--------------------
按照你的思路是没有办法解决的,给<img>设置src属性,浏览器就向服务器发送GET请求,如果不在URL里带参数就没其他办法。但是你的目的是什么?是把这段数据发送到服务器处理,然后返回处理后的图像?倒是可以通过Session或者临时文件的方法,在onClick事件中先把数据POST到服务器一个页面处理,后台可以把数据放到Session中或者存到临时文件中,返回一个标记,然后设置<img>的src属性,带上这个标记,b.aspx页面根据这个标记去查到数据处理。这是个典型的ajax过程。用jQuery如下:
$.ajax({
//post数据到c.aspx,c.aspx临时保存数据,返回一个标记
success:function(data){
    //根据返回的标记设置<img>的src属性到b.aspx,b.aspx根据标记读取数据
}
})