当前位置: 代码迷 >> ASP.NET >> ascx 与aspx 页面传值,
  详细解决方案

ascx 与aspx 页面传值,

热度:9408   发布时间:2013-02-25 00:00:00.0
ascx 与aspx 页面传值,高手请进!
紧急求助
  本人在aspx 页面上动态加载的ascx页面,现在在aspx 页面上有一个控件 我想做的是点击aspx 页面的按钮 提交所有ascx 页面的数据,问一下怎么实现! 到网上找了好多例子都不行(注意我这些参数数量较多,ascx也不定,排除session 的做法。)

------解决方案--------------------------------------------------------
UP

公开属性的方法不行吗?
------解决方案--------------------------------------------------------
首先ascx不是页面,作为控件,必须要有aspx这样的一个宿主。
可以给ascx写一个方法,如savedata,在你的aspx页面按钮的click里去调用控件的savedata方法。
如果你的控件不定,可以写一个接口,所有用到的ascx控件都继承此接口并实现savedata方法,button的click里 把当前控件转为接口后调用此方法。
------解决方案--------------------------------------------------------
关注一下
------解决方案--------------------------------------------------------
探讨
UP

公开属性的方法不行吗?

------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
ascx.index_channel index_channel=(ascx.index_channel)Page.FindControl("Index_channel1");
index_channel.dt = dt;

动态加载用户控件,往里面传参数
------解决方案--------------------------------------------------------
弄清楚ascx的概念。
ascx被放在aspx里就属于aspx了
给aspx传递参数 就可以在ascx里Request到。
------解决方案--------------------------------------------------------
暴露属性
------解决方案--------------------------------------------------------
Page.Items["key"] = value;
------解决方案--------------------------------------------------------
C# code
//****ascx用户控件中,定义一个要接收参数的属性例子:private string mBookTitle;public string BookTite{   get{return mBokTitle;}   set{mbookTitle=value;}}//****在aspx页面中调用此属性即可protected UserControl.BookSeach mBookSeach;//****设置传值mBookSeach.BookTitle=txtbooktitle.value; 用户控件XXX.ascx :<%@ Control Language="c#" %>//html...<script runat="server">  public string BackClo ="red";  //这里定义了一个参数  public void Page_Load()  { }</script>在aspx中调用此变量,可以 :<%@ Register TagPrefix="UserControl" TagName="Webbott" Src="XXX.ascx" %><html><body><form runat="server" method="post"><UserControl:Webbott id="mybott" runat="Server" /></form></body><script Language="c#" runat="Server"> public void Page_Load()  {     string newclo = "Black";     mybott.BackClo = newclo;    //更改了ascx中的那个参数!  }</script></html>
------解决方案--------------------------------------------------------
用户控件,这个例子挺好的
探讨
C# code
//****ascx用户控件中,定义一个要接收参数的属性
例子:
private string mBookTitle;
public string BookTite
{
get{return mBokTitle;}
set{mbookTitle=value;}
}


//****在aspx页面中调用此属性即可
protected UserControl.BookSeach mBookSeach;

//****设置传值
mBookSeach.BookTitle=txtbooktitle.value;



用户控件XXX.ascx :
<%@ Control Language="c#" %>
//html...
<script run…

------解决方案--------------------------------------------------------
学习,关注...
------解决方案--------------------------------------------------------
我想做的是点击aspx 页面的按钮 提交所有ascx 页面的数据
==
什么意思?
------解决方案--------------------------------------------------------
探讨
首先ascx不是页面,作为控件,必须要有aspx这样的一个宿主。
可以给ascx写一个方法,如savedata,在你的aspx页面按钮的click里去调用控件的savedata方法。
如果你的控件不定,可以写一个接口,所有用到的ascx控件都继承此接口并实现savedata方法,button的click里 把当前控件转为接口后调用此方法。

------解决方案--------------------------------------------------------
探讨
引用:
首先ascx不是页面,作为控件,必须要有aspx这样的一个宿主。
可以给ascx写一个方法,如savedata,在你的aspx页面按钮的click里去调用控件的savedata方法。
如果你的控件不定,可以写一个接口,所有用到的ascx控件都继承此接口并实现savedata方法,button的click里 把当前控件转为接口后调用此方法。


很详细。


private Control cc;

void Page_Load(object sender,EventArgs e)
{


------解决方案--------------------------------------------------------
试试下面的这
  相关解决方案