あなたは<%=...%>構文についてほとんど正しいです。これは、内部で何が起こるかの例です。
<script runat="server">
    public string SomeProperty { get { return "Hello World!"; } }
</script>
<form id="form1" runat="server">
    <%= SomeProperty %>
    <div>
        <asp:Label ID="Label1" runat="server" Text="<%= SomeProperty %>"></asp:Label>
    </div>
</form>
これが解析され、次のC#コードが作成されます(少し簡略化しました)。
private Label @__BuildControlLabel1() 
{
    Label @__ctrl = new Label();
        
    this.Label1 = @__ctrl;
    @__ctrl.ApplyStyleSheetSkin(this);
    @__ctrl.ID = "Label1";
    @__ctrl.Text = "<%= SomeProperty %>";
    return @__ctrl;
}
private void @__Renderform1(HtmlTextWriter @__w, Control parameterContainer) 
{
    @__w.Write( SomeProperty );
    @__w.Write("\r\n    <div>\r\n        ");
    parameterContainer.Controls[0].RenderControl(@__w);
    @__w.Write("\r\n    </div>\r\n    ");
}
<%#...%>構文の内部で何が起こるかの例を次に示します。
<script runat="server">
    public string SomeProperty { get { return "Hello World!"; } }
    protected void Page_Load(object sender, EventArgs e) { Label1.DataBind(); }
</script>
<form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="<%# SomeProperty %>"></asp:Label>
    </div>
</form>
このコードを生成します:
private Label @__BuildControlLabel1() 
{
    Label @__ctrl = new Label();
    
    this.Label1 = @__ctrl;
    @__ctrl.ApplyStyleSheetSkin(this);
    @__ctrl.ID = "Label1";
    @__ctrl.DataBinding += new System.EventHandler(this.@__DataBindingLabel1);
    return @__ctrl;
}
public void @__DataBindingLabel1(object sender, EventArgs e) 
{
    Label dataBindingExpressionBuilderTarget = ((Label)(sender));
    Page Container = ((Page)(dataBindingExpressionBuilderTarget.BindingContainer));
        
    dataBindingExpressionBuilderTarget.Text = System.Convert.ToString( SomeProperty , System.Globalization.CultureInfo.CurrentCulture);
}
ご覧の<%=...%>とおり、サーバーコントロールのプロパティの外部で構文を使用して、戻り値を直接レンダリングできます。一方、<%#...%>構文は、ラベルのDataBindingイベントのイベントハンドラーを生成します。このイベントは、ラベルのプロパティの値をSomePropertyの値に設定します。DataBindingイベントは、DataBindメソッドが呼び出されるたびに発生します。そのため、その呼び出しをPage_Loadイベントに追加しました。
うまくいけば、これはあなたがそれらの違いを理解するのに役立つでしょう。