我有一个中继器,它列出的数据包括我传递给用户控件的ID,直到单击链接按钮时才显示。但是,当我点击链接按钮时,ID已经丢失。将参数传递给中继器内的用户控件
任何人有任何想法我要去哪里错了?
下面是中继器的代码:
<asp:Repeater ID="uxPolicyList" runat="server" onitemdatabound="uxPolicyList_ItemDataBound">
<ItemTemplate>
<tr>
<td class="smaller-ctrl">
<img src="Assets/Images/home-icon.gif" alt="Home Insurance Policy" /><%#Eval("PolicyNumber")%>
</td>
<td>
<%#Eval("StartDate","{0:d}")%>
</td>
<td class="center-cell-ctrl">
<%#Eval("Renewal", "{0:d}")%>
</td>
<td class="center-cell-ctrl">
Postcode:<br />
<%#Eval("Postcode")%>
</td>
<td id='<%#Eval("PolicyNumber")%>' class="button-cell">
<asp:LinkButton ID="uxPolicySummaryButton" CssClass="policy-link-ctrl" CommandName="PolicyNumber" CommandArgument='<%#Eval("PolicyNumber")%>' OnCommand="uxPolicySummaryButton_Command" runat="server">Policy summary<br /></asp:LinkButton>
</td>
</tr>
<uc1:PolicySummary ID="uxPolicySummary" PolicyNumber='<%#Eval("PolicyNumber")%>' runat="server" Visible="false" />
</ItemTemplate>
我有这些获得用户控件/ set访问代码隐藏,但他们总是空白:
public string _policyNumber = string.Empty;
public string PolicyNumber
{
get
{
return _policyNumber;
}
set
{
_policyNumber = value;
}
}
当测试,我在用户控件中硬编码了一个值。即
<uc1:PolicySummary ID="uxPolicySummary" PolicyNumber="545545-5454-54545" runat="server" Visible="false" />
...它工作得很好。任何想法表示赞赏
嗨 - 我真的这样做。我试图将它设置为会话变量,但由于页面生命周期,这似乎发生在控件加载后,因此它不会使用policyNumber加载,因此它为空白 –
尝试将其保存到'HiddenField '在你的控制之内检查我的编辑 –
非常感谢 - 隐藏的字段方法为我工作。 –