3

I have ASP code like this:

<ext:Panel ID="pnlHelp" CtCls="help-panel" AnimCollapse="true"">
    <Content>
        <h1>some text</h1>
        <p>
            More text[...]
        </p>
    </Content>
</ext:Panel>

I would like to generate the <Content> tag dynamically using C#. I tried this, like with regular HTML tags:

<ext:Panel ID="pnlHelp" CtCls="help-panel" AnimCollapse="true"">
    <Content>
        <% Response.Write("<h1>some text</h1>"); %>                             
        <p>
            More text[...]
        </p>
    </Content>
</ext:Panel>

But the text ends up somewhere near the beginning of the page where I didn't intend it to go. How can I do this?

Scott
  • 21,211
  • 8
  • 65
  • 72
hardmax
  • 435
  • 1
  • 8
  • 15

2 Answers2

4

You output appears on the top of the page because your Response.Write() is being executed before page content is put to respose.

Why not just

<%="<h1>some text</h1>" %> 

You can create a method that will return a string and call it from your *.as?x file:

protected string GetMyCoolHtml()
{
    return "<h3>this is my text</h3>";
}

....

<%= GetMyCoolHtml() %>
the_joric
  • 11,986
  • 6
  • 36
  • 57
  • It worked for the static phrase. But then I put in `<%= GetPhrase("some_text_key", "

    some text

    "); %>` and I'm getting a " ) expected" error. Why's that?
    – hardmax Mar 05 '12 at 11:31
  • check the signature of you method. you code works for me when methoв is decalared as `protected string GetPhrase(string key, string h1Text) { return key + "
    " + h1Text; }`
    – the_joric Mar 05 '12 at 11:34
  • 3
    Remove the ';'. When using <%= %> for displaying things, no ; is expected. – Abbas Mar 05 '12 at 11:34
  • oh, sure +1 to @Abbas comment :) – the_joric Mar 05 '12 at 11:35
  • Okay, this works. What's the name of this inline code tag so I can read more about it? – hardmax Mar 05 '12 at 11:45
1

Add a literal control to your page and write whatever you want on server side.

mslliviu
  • 1,098
  • 2
  • 12
  • 30