Composite C1 で、Webforms ユーザー コントロール内でレンダリングされる C1 関数にパラメーターを渡すにはどうすればよいですか?
私の場合、SimpleSearch の結果をユーザー コントロールに含めたいと考えています。
<rendering:Function runat="server" id="fnSimpleSearch" >
<f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Composite.Search.SimplePageSearch.SearchResults">
<f:param name="SearchQuery" value="<%= SearchTerm %>" />
<f:param name="CurrentSite" value="False" />
<f:param name="PageSize" value="10" />
<f:param name="ShowSearchForm" value="True" />
</f:function>
</rendering:Function>
これは分離コードです:
public string SearchTerm { get; set; }
protected override void OnLoad(EventArgs e)
{
C1PageRoute.RegisterPathInfoUsage();
string pathInfo = C1PageRoute.GetPathInfo();
if(!string.IsNullOrWhiteSpace(pathInfo))
{
SearchTerm = pathInfo.Substring(1);
}
base.OnLoad(e);
}
このようにすると、関数は最終ページにレンダリングされず、代わりにマークアップだけがレンダリングされます。SearchQuery パラメータに静的な値を入力すると、レンダリングされます。
関数が正しくレンダリングされるように、CodeBehind から SearchQuery パラメーターを渡すにはどうすればよいですか?