2013-02-14 92 views
0

当我加入了在服务器端Page对象并调用HttpContext.Current.Server.Execute一个HiddenField控制,代码抛出错误,但是相同的代码使用Panel对象,而不是HiddenField晴好时运行HiddenField上HttpContext.Current.Server.Execute抛出错误

以下是表示用于参考示例代码

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.IO; 

namespace WebApplication1 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      Page pageHolder; 
      pageHolder = new Page(); 

      Panel p = new Panel(); 
      HiddenField h = new HiddenField(); 
      pageHolder.Controls.Add(h); 

      using (StringWriter l_SW = new StringWriter()) 
      { 
       HttpContext.Current.Server.Execute(pageHolder, l_SW, true); 
      } 
     } 
    } 
} 

则抛出异常是

类型'HiddenField'的控件'ctl00'必须放置在runat = server的表单标签中。

不知道为什么只发生在HiddenField中。

需要帮助尽快

回答

1

你可以尝试像

Page.Form.Controls.add(h);