一个初学者的疑惑:如何将后台文件定义的变量值传递给页面文件用户控件的参数??? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用户控件里要声明合适的public方法来来使外部的类可以给调用此方法赋值 我是说如何把.cs文件内定义的变量值提出来,传递给.aspx文件,作为.aspx文件内引用用记控件的参数值。 :P 第一次提问,请多多请教。 不知道你说的是那种cs文件。如果是aspx.cs的话,只需要把变量声明为public即可。比如: public string abc;页面上就可以直接这样用<%=abc %>如果你说的是纯.cs的类文件,那么如果你想引用值得话,就需要声明成静态类(这么做不是很好),或者用函数返回。 1、通过传递给公共变量实现2、如果是同一个页面,前台后台没什么区别,在前台可以直接使用变量名如果希望在前台显示出来,只需“<%=变量名称%>”即可 多谢kolosi, 我老是在页面文件那用<%abc%>,就是输不出.原来是忘加等号了. 你的控件必须公开一个可写的属性如public int aa{ .....}然后 <xx:yy id="zz" aa="1"... 刚才加了等号,可又提示:不能有:<%=abc%>构造,要怎么办啊?<uc1:left id="Left1" runat="server" newytpeid=<%=newtypeid%>></uc1:left></FONT></form> 分也散了,还有老大视分数如粪土,帮帮我啊。 我要的不是让变量值显示出来,而是赋给用户控件。 页面文件:<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="bthos_aspx.WebForm1" %><%@ Register TagPrefix="uc1" TagName="left" Src="mycontorls/left.ascx" %><%@ Register TagPrefix="uc1" TagName="news" Src="mycontorls/news.ascx" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML> <HEAD> <title>WebForm1</title> <meta content="Microsoft Visual Studio 7.0" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="JavaScript" name="vs_defaultClientScript"> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <FONT face="宋体"> <asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 210px; POSITION: absolute; TOP: 62px" runat="server">Label</asp:Label> <uc1:left id="Left1" runat="server" abc=<%=abc%>></uc1:left></FONT></form> </body></HTML>后台文件: protected System.Web.UI.WebControls.Label Label1; public string abc; private void Page_Load(object sender, System.EventArgs e) { if(!this.IsPostBack) { SqlConnection con=new SqlConnection("server=.database=111;sa=sa;pwd="); con.Open(); SqlCommand cmd=new SqlCommand("select * from aa where xx=11",con); SqlDataReader sdr=cmd.ExecuteReader(); while (sdr.Read()) { abc=sdr["abc"].ToString; } sdr.Close; con.Close(); } } 自已搞定: 直接<%#abc%>就ok了输出用:<%=abc%>绑定用:<%#abc%> asp.net 关于excel 这种情况改怎样建实体? 查询数据库中所有的表 petshop 4.0的问题 一个asp.net密码框问题 模板列绑定问题 为什么向ACCESS数据库存入图片出现INSERT INTO错误 AspxGrid控件。。。。aspgrid控件有多条记录,但鼠标点击某条记录不起作用,有谁知道原因。急 求圆角表格的相关代码。 如何对asp.net的程序进行加密 求一个开源的asp.net(c#)+sqlserver 的网上产品展示+购物系统的源码 asp.net2005数据访问:零代码还是分层架构?
如果是aspx.cs的话,只需要把变量声明为public即可。
比如:
public string abc;页面上就可以直接这样用<%=abc %>如果你说的是纯.cs的类文件,那么如果你想引用值得话,就需要声明成静态类(这么做不是很好),或者用函数返回。
如
public int aa{ .....}
然后
<xx:yy id="zz" aa="1"...
<uc1:left id="Left1" runat="server"
newytpeid=<%=newtypeid%>></uc1:left></FONT></form>
页面文件:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="bthos_aspx.WebForm1" %>
<%@ Register TagPrefix="uc1" TagName="left" Src="mycontorls/left.ascx" %>
<%@ Register TagPrefix="uc1" TagName="news" Src="mycontorls/news.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 210px; POSITION: absolute; TOP: 62px" runat="server">Label</asp:Label>
<uc1:left id="Left1" runat="server"
abc=<%=abc%>></uc1:left></FONT></form>
</body>
</HTML>
后台文件:
protected System.Web.UI.WebControls.Label Label1;
public string abc;
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
SqlConnection con=new SqlConnection("server=.database=111;sa=sa;pwd=");
con.Open();
SqlCommand cmd=new SqlCommand("select * from aa where xx=11",con);
SqlDataReader sdr=cmd.ExecuteReader();
while (sdr.Read())
{
abc=sdr["abc"].ToString;
}
sdr.Close;
con.Close();
}
}
直接<%#abc%>就ok了
输出用:<%=abc%>
绑定用:<%#abc%>