这个贴有问过,可是我还是不懂.
有二个页面,一个123.aspx一个abc.ascx
现在在123.aspx中用Register方法引入abc.ascx,当在123.aspx.cs中如何取得
abc.aspx中textbox的值?
前个贴有网友说在abc.ascx中直接增加
public string Name
{
get{return TextBox1.Text.Trim();}
set{TextBox1.Text=value;}
}
那么在123.aspx.cs如何调用?
谢谢,请愿谅我笨呀!
有二个页面,一个123.aspx一个abc.ascx
现在在123.aspx中用Register方法引入abc.ascx,当在123.aspx.cs中如何取得
abc.aspx中textbox的值?
前个贴有网友说在abc.ascx中直接增加
public string Name
{
get{return TextBox1.Text.Trim();}
set{TextBox1.Text=value;}
}
那么在123.aspx.cs如何调用?
谢谢,请愿谅我笨呀!
Object obj = MyUserControl.MyPubAttribute;
ps:MyUserControl是你html代码中用户控件的名字
Object obj = MyUserControl.MyPubAttribute;
ps:MyUserControl是你html代码中用户控件的名字是在123.aspx中调用吗?还是在哪?
按楼上的办法我在123.aspx.cs的类中增加了
protected System.Web.UI.UserControl tbxName;// 与abc.ascx的Textbox同名
Response.Wrie(tbxName.Text);
却出现
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
protected System.Web.UI.UserControl abc;另:这个代码是在123.aspx.cs中写的
Object obj = MyUserControl.MyPubAttribute;
protected System.Web.UI.UserControl abc;另:这个代码是在123.aspx.cs中写的
protected System.Web.UI.UserControl abc;
Object obj = MyUserControl.MyPubAttribute;
那abc不就丢了?
上面的myUserControl我改成abc可是MyPubAttribute
无论我在abc.ascx.cs中定义属性,然后在123.aspx.cs中用abc.Name
还是直接换成Textbox对象 abc.tbxName都是一样的错误.
还有,我直接在abc.ascx.cs的类中定义了Name属性或者方法返回tbx.Text
但结仍然是一样的错误.郁闷....
Object obj = abc1.Name;
然后在123.aspx中
<%@ Register TagPrefix="Module" TagName="logon" Src="modules/abc.ascx" %>
那现在在123.aspx.cs中当一个<asp:button ...>发生click时,如何取得abc.ascx的txbName的值.
很抱歉,谢谢!
看看在123.aspx.cs里面有没有abc.ascx所在的名称空间!!
abc1.txbName.Text
我的*.ascx页面一般都只是放着webControls/htmlControls的控件,不放代码,
如果有需要操作的都丢到了*.ascx.cs里面!
按我看duwamish来说,它是利用aspx的事件驱动*.ascx.cs中的事件,基本上没发现有在*.ascx里放入C#脚本的例子.
一般不会有人在.ascx中申明public System.Web.UI.UserControl TextBox ...这样的吧?
实在抱歉,刚学.net,对于我的无知请愿谅!,谢谢各位的解答,让我学了不少东西.
不过,还有个很大的疑问,在我用visual studio 2003工具开发asp.net时,如果把DEUG设为TRUE那么在页面出错的时候,会有一个:显示完整的编译源,的提示,当然打开它的时候,很惊讶的发现,所有的代码是VB.NET为脚本!有些不解!
谢..
public System.Web.UI.UserControl yourusercontrol不是放在ascx.cs文件里,
而是放在*.aspx.cs里,一般你的usercontrol命名为uc,那么拖到aspx页面就默认为uc1,
你在codebehind *.aspx.cs文件里这样:public System.Web.UI.UserControl uc1,
然后在page_load()里或其他地方这样:string sName = uc1.MyPubAttribute;
MyPubAttribute是你自定义的属性。
我在test.ascx中放了一个textbox命名为tbxname
并且在test.ascx.cs中定义了
public string Name{...}
然后把test.ascx拉到test.aspx中,自动有了一个<uc1:test ...></uc1:test>
最后在test.aspx.cs中定义
public System.Web.UI.UserControl uc1;在button_click函数内定义
string name=uc1.Name;
编辑时出错,提示:
D:\webSite\test\WebForm2.aspx.cs(51): “System.Web.UI.UserControl”并不包含对“Name”的定义谢谢..
假设为public string Name{...}在aspx 页面引用后 你可以在设计视图中看到id 为test1 这个用户控件
接着
protected test test1;string name=test1.Name 即可
为什么一定要定义 protected test test1;才有效?
我试把test1改成 t都不成.
实在是抱歉,问了这么多问题.有没有什么推荐好的书给我们学习?
谢..
不晓得您是否看了duwamish7,为什么它那的ascx中的控件值,直接可以在ascx.cs中处理,然后用aspx.cs中的代码调用?我模仿却失败!
谢谢!