为什么会这样?

jsyzfeb 2005-11-10 08:32:54
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.IO;
using System.Resources;

namespace PowerDataGrid
{
/// <summary>
/// WebCustomControl1 的摘要说明。
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:PowerDataGrid1 runat=server></{0}:PowerDataGrid1>")]
public class PowerDataGrid: System.Web.UI.WebControls.DataGrid
{
private string text;

[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
return text;
}

set
{
text = value;
}
}

/// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的 HTML 编写器 </param>
protected override void Render(HtmlTextWriter output)
{
output.Write(this.parseMarkup());
}
protected override void OnPreRender(System.EventArgs e)
{

base.OnPreRender(e);

ResourceManager manager = new ResourceManager( this.GetType() );
ResourceSet resources = manager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true);
if( !Page.IsClientScriptBlockRegistered( "System.UI.WebControl.PowerDataGrid Library" ) )
{
String script = resources.GetString("ScrollTable");
this.Page.RegisterClientScriptBlock("System.UI.WebControl.PowerDataGrid Library", script );
this.Page.RegisterStartupScript("System.UI.WebControls.PowerDataGrid Init", "<script>makeScrollableTable('"+this.ID+"',true,'auto');</script>" );
}
}
private string parseMarkup()
{
// 插入THead标签和TBody标签
StringWriter writer = new StringWriter();
HtmlTextWriter buffer = new HtmlTextWriter(writer);
base.Render(buffer);
string pMarkup = writer.ToString();

// 找到第一个table标签的结尾也就是第一个>字符
pMarkup = pMarkup.Insert(pMarkup.IndexOf(">") + ">".Length, "<thead>");
// 将第一个tr闭区间用Thead包起来,现在第一个<thead>已经画出来了需要画
// 它的结尾</thead>和</tbody>,同样找到第一个</tr>来插入</thead>和</tdoby>
pMarkup = pMarkup.Insert( pMarkup.IndexOf("</tr>") + "</tr>".Length,"</thead><tbody>");
// 在最后一个</table>的前面插入一个</tbody>就可以了。
pMarkup = pMarkup.Replace("</table>", "</tbody></table>");
return pMarkup;
}
}
}
为什么在生成后添加到工具箱后,在拖到界面时说创建控件失败呢?
有哪位大侠帮忙解决呀!小弟在此拜谢了!
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsyzfeb 2005-11-11
  • 打赏
  • 举报
回复
没少呀!我把
[DefaultProperty("Text"),
ToolboxData("<{0}:PowerDataGrid1 runat=server></{0}:PowerDataGrid1>")]注释掉后可以加到工具箱里,编译的时候没错,可在页面加载的时候会抱错,不知道是什么原因?

jxufewbt 2005-11-10
  • 打赏
  • 举报
回复
是不是少了其他一些资源文件,比如说xml什么的
jsyzfeb 2005-11-10
  • 打赏
  • 举报
回复
如果分可以再开贴给的呀,大侠们快回答呀

62,025

社区成员

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

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

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

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