簡體   English   中英

ASP.Net - 來自標記的調用方法,包括數據綁定

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM