ascx 与aspx 页面传值,高手请进!
紧急求助
本人在aspx 页面上动态加载的ascx页面,现在在aspx 页面上有一个控件 我想做的是点击aspx 页面的按钮 提交所有ascx 页面的数据,问一下怎么实现! 到网上找了好多例子都不行(注意我这些参数数量较多,ascx也不定,排除session 的做法。)
------解决方案--------------------UP
公开属性的方法不行吗?
------解决方案--------------------
首先ascx不是页面,作为控件,必须要有aspx这样的一个宿主。
可以给ascx写一个方法,如savedata,在你的aspx页面按钮的click里去调用控件的savedata方法。
如果你的控件不定,可以写一个接口,所有用到的ascx控件都继承此接口并实现savedata方法,button的click里 把当前控件转为接口后调用此方法。
------解决方案--------------------关注一下
------解决方案--------------------
------解决方案--------------------帮顶
------解决方案--------------------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>
------解决方案--------------------
用户控件,这个例子挺好的
------解决方案--------------------
学习,关注...
------解决方案--------------------
我想做的是点击aspx 页面的按钮 提交所有ascx 页面的数据
==
什么意思?
------解决方案--------------------
------解决方案--------------------