2013-02-14 108 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);