2014-01-28 37 views
0

我想擴展ASP.NET的Textbox控件,以便使用TinyMCE將其製作成所見即所得編輯器。我還想向該Textbox控件添加一個隱藏字段,並在該隱藏值中存儲來自客戶端瀏覽器的降價,並在表單提交時將其發回服務器。擴展ASP.NET文本框並添加一個隱藏字段

問題是這個隱藏的字段沒有渲染它,即使我已經將它添加到控件集合 - 只有文本框呈現。如何讓文本框和隱藏字段呈現?

以下代碼演示了我如何擴展Textbox控件。

public class TinyMCEEditor : System.Web.UI.WebControls.TextBox 
    { 
     private readonly HiddenField hf_MarkdownValue = new HiddenField(); 

     public string MarkDown 
     { 
      get { return hf_MarkdownValue.Value; } 
     } 

     protected override void OnInit(EventArgs e) 
     { 
      //Adding the hidden field does not render 
      this.Controls.Add(hf_MarkdownValue); 
      base.OnInit(e);       
     } 

    } 

回答

1

隱藏字段沒有在客戶端呈現,因爲您沒有呈現它。將以下代碼添加到您的班級,它會正常工作:

protected override void Render(HtmlTextWriter w) 
    { 
     base.Render(w); 
     hf_MarkdownValue.RenderControl(w); 
    } 
+0

優秀。謝謝! – burnt1ce