动态地将内容呈现为div元素

时间:2016-08-03 10:26:21

标签: c# asp.net

我想将一些内容渲染到用户控制的div部分( Example.ascx)通过代码隐藏文件(Example.ascx.cs),

Example.ascx

<div id="DivElement" runat="server">
</div>

Example.ascx.cs

void OnInit(EventArgs e)
        {
            this.PreRender += new EventHandler(Ex_PreRender);
            base.OnInit(e);
        }

void Ex_PreRender(object sender, EventArgs e)
        {

             this.DivElement.Load(@"<input type='hidden' name='{0}' id='{0}_VIEW' value='{2}' />
       <input type='hidden' name='{0}' value='{3}' />

                    <script type='text/javascript'>
                        $(document).ready(function() {{
                        _controllers['{0}'] = new ExController({{
                        id: '{0}',
                        src: '{1}',
                        }});
                       _controllers['{0}'].Load();
                         }});
                      </script>",
                        this.id,
                        this.src,
                        Request[this.id + "_VIEWSTATE"];);
        }

我尝试过如上所述,但内容未加载到DivElement中。任何人都可以建议如何渲染 上面的元素变成了div?

1 个答案:

答案 0 :(得分:1)

我可能会使用文字。

<div><asp:literal id="litContent" runat="server"></div>

然后在您的代码隐藏中,使用:

protected void Page_Load(object sender, EventArgs e)
{
    litContent.Text = "Your Content";
}

我还注意到你的字符串中有一些错误。如果要将字符串插入字符串,则需要使用string.Format()。

以下是一个例子:

litContent.Text = string.Format("hello {0}.  I am a {1}", "you", "test");

所以,看着你的字符串,你会想要做这样的事情:

protected void Page_Load(object sender, EventArgs e)
{
    string id = "fetchThisFromSomewhere";
    string src = "fetchThisToo";
    litContent.Text = string.Format(@"
            <input type='hidden' name='{0}' id='{0}_VIEW' value='{2}' />
            <input type='hidden' name='{0}' value='{3}' />

            <script type='text/javascript'>
                $(document).ready(function() {{
                _controllers['{0}'] = new ExController({{
                id: '{0}',
                src: '{1}',
                }});
                _controllers['{0}'].Load();
                    }});
                </script>",
                id,
                src,
                Request[id + "_VIEWSTATE"]);
}