[英]ASP.Net - Call Method from markup that includes data-binding
我在ASP.NET中的C#中有一個用戶控件。 此用戶控件在代碼隱藏中有一個方法,定義如下:
protected string GetGreeting(string name)
{
if (String.IsNullOrEmpty(name))
{
return "Hello";
}
else
{
return "Hello " + name;
}
}
我的標記如下所示:
<asp:Repeater ID="listRepeater" ClientIDMode="Static" runat="server" OnLoad="listRepeater_Load">
<HeaderTemplate>
<table id="listTable" style="width:100%;">
<thead><tr>
<th>Greeting</th>
<th>Actions</th>
</tr></thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# GetGreeting("FullName")%></td>
<td><a href='#'>view info</a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>
如何在我的數據源中綁定記錄的FullName屬性? 現在,我一直看到“Hello FullName”。 我想看看像“你好約翰史密斯”這樣的東西。 我究竟做錯了什么?
謝謝!
在.aspx中,您正在調用GetGreeting("FullName")
。 這按字面意思傳遞"FullName"
。
嘗試
GetGreeting(Eval("FullName").ToString())
以下應該有效:
<%# GetGreeting(DataBinder.Eval(Container.DataItem, "FullName").ToString()) %>
或更短的形式:
<%# GetGreeting(Eval("FullName").ToString()) %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.