2

我需要从标记中设置用户控件的属性值。

我需要通过标记在我的用户控件中设置名为“ItemIndex”的属性。

由于某些不幸的原因,ItemIndex="<%: x %>" 的 "<%: x %>" 部分没有得到解决。

基本上,ItemIndex 的值变成了“<%: x %>”,而不是变成了 x 的实际值。

下面是代码(请注意大写的注释)。

<%@ Register TagPrefix="DDLControls" TagName="MainMenuItem" Src="~/Views/Header/MainMenuItemControl.ascx" %>
<div id="MainMenu">
    <table cellpadding="0" cellspacing="0" border="0">
    <tr>
        <%   
            foreach (MenuItem mi in Model.Items)
            {
                string x = Model.Items.IndexOf(mi).ToString();
        %>
        <td>
            <%= x %>  <<-- THIS GETS RESOLVED TO 0,1,2,3,4,...
            <DDLControls:MainMenuItem ItemIndex="<% x %>" runat="server" />  <<-- THIS DOESN'T GET RESOLVED
        </td>
        <%

            } 
        %>
    </tr>
</table>
</div>
4

1 回答 1

2

您需要将Bindable属性添加到您的属性:

[System.ComponentModel.Bindable(true)]
public string SomeValue 
{
    get
    {
        return someValue;
    }
    set
    {
        someValue = value;
    }
}
于 2013-10-08T16:35:58.947 回答