DotVVM 标记控件 属性 未返回
DotVVM Markup Conrtrol Property Not Returned
我正在编写 DotVVM 标记控件。此控件有一个可能是动态的 link 标签,因此我在代码隐藏文件中有一个 属性 标签。
标记
<td class="navigation_unselected"><a href="~/Members.aspx?TABLE=MEMINFO" class="Navigation_Text">{{controlProperty: MemberKey}} LIST</a></td>
代码隐藏
public string MemberKey
{
get { return (string)GetValue(MemberKeyProperty); }
set { SetValue(MemberKeyProperty, value); }
}
public static readonly DotvvmProperty MemberKeyProperty
= DotvvmProperty.Register<string, MainNavigationControl>(c => c.MemberKey, "Member");
问题是当我运行页面时,属性似乎return null
还是空的,而link文本只有“列表”。默认值“成员”不是 returned。我不是 KnockoutJS 的专家,但是生成的 HTML 看起来相当简单:
渲染HTML
<a href="/ImpactProDevDotVVM/Members.aspx?TABLE=MEMINFO" class="Navigation_Text">
<!-- ko text: $control.MemberKey -->
<!-- /ko -->
LIST</a>
我已经为此工作了几个小时,我不确定这段代码有什么问题。当我简单地将“MEMBER”这个词放在标记中时,它可以工作,但要求它是动态的并具有默认值。
谁能看出我哪里出错了?
问题似乎出在 KnockoutJS 的生成方式以及浏览器添加的隐式 <tbody>
上。解决方案是在我的整个 table 周围添加一个 explicit <tbody>
。我被一个类似的错误指向了这个方向:
Knockout Error: Cannot find closing comment tag to match
我正在编写 DotVVM 标记控件。此控件有一个可能是动态的 link 标签,因此我在代码隐藏文件中有一个 属性 标签。
标记
<td class="navigation_unselected"><a href="~/Members.aspx?TABLE=MEMINFO" class="Navigation_Text">{{controlProperty: MemberKey}} LIST</a></td>
代码隐藏
public string MemberKey
{
get { return (string)GetValue(MemberKeyProperty); }
set { SetValue(MemberKeyProperty, value); }
}
public static readonly DotvvmProperty MemberKeyProperty
= DotvvmProperty.Register<string, MainNavigationControl>(c => c.MemberKey, "Member");
问题是当我运行页面时,属性似乎return null
还是空的,而link文本只有“列表”。默认值“成员”不是 returned。我不是 KnockoutJS 的专家,但是生成的 HTML 看起来相当简单:
渲染HTML
<a href="/ImpactProDevDotVVM/Members.aspx?TABLE=MEMINFO" class="Navigation_Text">
<!-- ko text: $control.MemberKey -->
<!-- /ko -->
LIST</a>
我已经为此工作了几个小时,我不确定这段代码有什么问题。当我简单地将“MEMBER”这个词放在标记中时,它可以工作,但要求它是动态的并具有默认值。
谁能看出我哪里出错了?
问题似乎出在 KnockoutJS 的生成方式以及浏览器添加的隐式 <tbody>
上。解决方案是在我的整个 table 周围添加一个 explicit <tbody>
。我被一个类似的错误指向了这个方向:
Knockout Error: Cannot find closing comment tag to match