【问题标题】:Extending ASP.NET Textbox and adding a hidden field扩展 ASP.NET 文本框并添加隐藏字段
【发布时间】:2014-01-29 03:23:16
【问题描述】:

我想扩展 ASP.NET 的文本框控件,以便可以使用 TinyMCE 将其变成所见即所得的编辑器。我还想向这个文本框控件添加一个隐藏字段,并将降价存储在客户端浏览器的这个隐藏值中,并在表单提交时将其发布回服务器。

问题是即使我已将它添加到控件集合中,这个隐藏字段也没有呈现它 - 只有文本框呈现。如何让文本框和隐藏字段呈现?

以下代码演示了我如何扩展 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);                          
        }

    }

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    隐藏字段不会在客户端呈现,因为您没有呈现它。将以下代码添加到您的类中,它会正常工作:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多