请教一个问题,请各位指点!

chenhongwu 2008-12-30 05:25:16
一个页面的分割成几个用户控件,现在有用户提出可以自己手动改变控件的位置,也就是说可以把某一块内容到页面另一个位置。那么页面的这些控件标签就需要存放

在一个HTML文件里做为模版,类似:
<td width="200" align="center" valign="top">{EssentialList()} {HomeDonate()} {HomeMerAD()}</td>,

但遇到问题了,我想用LoadControl 载入控件,然后输出HTML替换这些特定的标签,但用RenderControl方法输出控件内容的时候出错了,提示 Control 'txtUserName' of type 'TextBox' must be placed inside a form tag with runat=server ,'txtUserName' 是某一个控件里面的,我知道这是缺少runat=server 造成的,但是不可能在这个控件里面加runat=server,请教各位有没有好的解决办法,或者是不是我一开始思路就错了,请各位指点!
...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhongwu 2008-12-31
  • 打赏
  • 举报
回复
TO cuike519 :
谢谢, 你的方法可能不行 ,因为现在这些控件是存在HTML文件里的,例如:
<td width="200" align="center" valign="top">{EssentialList()} {HomeDonate()} {HomeMerAD()} </td>, 我是想通过default.aspx 来读取这个HTML的文件内容,然后用用户控件来替换这些特殊标记,但这里就提示错误了。

现在default.aspx 里面除了一个form之外是什么都没有的。

各位有没有好的解决办法,这个问题困绕我好几天了!
chenhongwu 2008-12-31
  • 打赏
  • 举报
回复
谢谢 Teng_s2000 ,是的,必须要用用户控件,是已经规划好的ASCX
shaqing_0928 2008-12-30
  • 打赏
  • 举报
回复
学习,顶一个
cuike519 2008-12-30
  • 打赏
  • 举报
回复
想RenderControl必须runat=server。

首先你需要一个页面框架,这个框架是运行在服务器上的(比如服务器上的Table),事先定义好Table的行和列。

然后在指定的行列里面放个PlaceHolder(好像叫这个名字),然后将你的用户控件add到这个Holder里面,然后记录放置的单元格。

用户移动的时候再记录新的单元格位置(这个信息可以通过Hide控件传递到服务器上),当用户调整完之后再刷新页面的时候用这个hide里面的布局来装载你的控件。

我说的是个简单的实现,你可以自己规划规划。。。
Teng_s2000 2008-12-30
  • 打赏
  • 举报
回复
用HTML中的input代替可以吗?还必须使用服务器控件吗?如果必须使用服务器控件就必须有runat=server

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧