我在ASP.NET中的C#中有一个用户控件.此用户控件在代码隐藏中有一个方法,定义如下:
protected string GetGreeting(string name)
{
if (String.IsNullOrEmpty(name))
{
return "Hello";
}
else
{
return "Hello " + name;
}
}
Run Code Online (Sandbox Code Playgroud)
我的标记如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
如何在我的数据源中绑定记录的FullName属性?现在,我一直看到"Hello FullName".我想看看像"你好约翰史密斯"这样的东西.我究竟做错了什么?
谢谢!
Jes*_*nan 11
在你的.aspx中,你正在打电话GetGreeting("FullName").这传递了"FullName"字面意思.
尝试
GetGreeting(Eval("FullName").ToString())
Run Code Online (Sandbox Code Playgroud)
以下应该有效:
<%# GetGreeting(DataBinder.Eval(Container.DataItem, "FullName").ToString()) %>
Run Code Online (Sandbox Code Playgroud)
或更短的形式:
<%# GetGreeting(Eval("FullName").ToString()) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21410 次 |
| 最近记录: |