ASP.net中动态生成控件的问题? 在ASP.net中我想在服务器端代码中动态的生成控件,比如生成Button按钮,也能让他们显示到页面上,但是如何让这些动态控件出现在页面的指定位置内,比如说据顶部的像素是多少多少,据左边缘的距离多少多少?如何在服务器端代码控制呢?小弟是初学者,今天老师刚讲到这儿,我突然想到这个问题的,还请各位高手前辈,多多指教啊!小弟万分感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置button 的styleButton bt = new Button();bt.Text = "";bt.Style.Add("position", "absolute");bt.Style.Add("left","");bt.Click += new EventHandler(bt_Click);this.Controls.Add(bt); 3楼正解,可参见这篇文章《ASP.NET页面中动态增加的控件、添加事件》 写css不是一定要看着UI写的,css不依赖于aspx存在,只要css写对了、关联上了,就能起作用。跟你的控件加载方式没有关系,给你举个例子:有这么个页面,几乎没有代码,控件是动态加载的:aspx:[code=HTML]<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Color.aspx.cs" Inherits="Color" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <script type="text/javascript"> function pageLoad() { } </script></head><body> <form id="form1" runat="server"> <div id="divBody"> <ajaxToolkit:ToolkitScriptManager ID="Tsm1" runat="server"></ajaxToolkit:ToolkitScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <div class="Hidden"> <Style:TextBoxPlus ID="txtMyRequest" runat="server"></Style:TextBoxPlus> </div> <div id="div_1_1" runat="server"> </div> <div id="div_2_1" runat="server"> </div> <div id="div_3_1" runat="server"> </div> </ContentTemplate> <Triggers> </Triggers> </asp:UpdatePanel> </div> </form></body></html>/code] 写css不是一定要看着UI写的,css不依赖于aspx存在,只要css写对了、关联上了,就能起作用。跟你的控件加载方式没有关系,给你举个例子:有这么个页面,几乎没有代码,控件是动态加载的:aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Color.aspx.cs" Inherits="Color" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <script type="text/javascript"> function pageLoad() { } </script></head><body> <form id="form1" runat="server"> <div id="divBody"> <ajaxToolkit:ToolkitScriptManager ID="Tsm1" runat="server"></ajaxToolkit:ToolkitScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <div class="Hidden"> <Style:TextBoxPlus ID="txtMyRequest" runat="server"></Style:TextBoxPlus> </div> <div id="div_1_1" runat="server"> </div> <div id="div_2_1" runat="server"> </div> <div id="div_3_1" runat="server"> </div> </ContentTemplate> <Triggers> </Triggers> </asp:UpdatePanel> </div> </form></body></html> 注意,这个页面其实只定义了布局,数据无有,甚至你都看不到css的加载,因为css也是动态加载的,(方法写在我的博客里了),其实每个页面可以关联了一个同名的css,再看看css的内容#divBody{ width:780px; }#div_1_1,#div_3_1{ height:25px; line-height:25px; padding: 0 5px 0 5px; }#div_1_1 span{ margin-left:5px; }#div_1_1 div{ margin-top:-1px; }input[type="button"]{ float:right; }#btnSearch{ float:left; }#btnExport{ width:60px; } 关于创建图片文件路径的问题 怎么继承类,在线等 讨论陕北吴旗娃分页控件AspNetPager的问题?? 有关TreeView中CheckBox的问题 一个关于datetime类型的超奇怪问题! 关于javascript! datagrid 行高的问题 我把word存进SQL数据库里面....是用IMAGE格式存,Sql全文检索支不支持检索IMAGE那种格式的数据.... 急!年底了,老板还在催!gridview动态绑定,在gridview下的控件位置无法跟紧 页面间调用使用SmtpClient发送邮件的问题 页面访问缓慢,请问怎么优化 在GridView中怎么设置某一列为链接
Button bt = new Button();
bt.Text = "";
bt.Style.Add("position", "absolute");
bt.Style.Add("left","");
bt.Click += new EventHandler(bt_Click);
this.Controls.Add(bt);
《ASP.NET页面中动态增加的控件、添加事件》
跟你的控件加载方式没有关系,
给你举个例子:有这么个页面,几乎没有代码,控件是动态加载的:
aspx:
[code=HTML]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Color.aspx.cs" Inherits="Color" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function pageLoad() {
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="divBody">
<ajaxToolkit:ToolkitScriptManager ID="Tsm1" runat="server"></ajaxToolkit:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="Hidden">
<Style:TextBoxPlus ID="txtMyRequest" runat="server"></Style:TextBoxPlus>
</div>
<div id="div_1_1" runat="server">
</div>
<div id="div_2_1" runat="server">
</div>
<div id="div_3_1" runat="server">
</div>
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>/code]
跟你的控件加载方式没有关系,
给你举个例子:有这么个页面,几乎没有代码,控件是动态加载的:
aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Color.aspx.cs" Inherits="Color" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function pageLoad() {
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="divBody">
<ajaxToolkit:ToolkitScriptManager ID="Tsm1" runat="server"></ajaxToolkit:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="Hidden">
<Style:TextBoxPlus ID="txtMyRequest" runat="server"></Style:TextBoxPlus>
</div>
<div id="div_1_1" runat="server">
</div>
<div id="div_2_1" runat="server">
</div>
<div id="div_3_1" runat="server">
</div>
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
甚至你都看不到css的加载,因为css也是动态加载的,(方法写在我的博客里了),
其实每个页面可以关联了一个同名的css,
再看看css的内容#divBody{
width:780px;
}#div_1_1,#div_3_1{
height:25px;
line-height:25px;
padding: 0 5px 0 5px;
}#div_1_1 span{
margin-left:5px;
}#div_1_1 div{
margin-top:-1px;
}input[type="button"]{
float:right;
}
#btnSearch{
float:left;
}
#btnExport{
width:60px;
}