C# 数据表问题
我在UpdatePanel中有以下数据绑定数据列表,每当从下拉菜单中进行选择时,该列表都会更新。 但是,如果没有从db表中检索到任何内容,则会得到一个空白部分 我想做的是显示ItemTemplate中的同一个表以及文本-例如,EmptyDataTemplate的“Admin Not Found”、“Email Not Found”…等。。。 我注意到数据列表不存在EmptyDataTemplate,但我不想使用其他控件 有办法做到这一点吗?示例代码感谢。谢谢C# 数据表问题,c#,asp.net,datalist,C#,Asp.net,Datalist,我在UpdatePanel中有以下数据绑定数据列表,每当从下拉菜单中进行选择时,该列表都会更新。 但是,如果没有从db表中检索到任何内容,则会得到一个空白部分 我想做的是显示ItemTemplate中的同一个表以及文本-例如,EmptyDataTemplate的“Admin Not Found”、“Email Not Found”…等。。。 我注意到数据列表不存在EmptyDataTemplate,但我不想使用其他控件 有办法做到这一点吗?示例代码感谢。谢谢 <asp:DataList I
<asp:DataList ID="DataList" runat="server">
<ItemTemplate>
<table>
<tr>
<td class="style1">
Company Admin:
</td>
<td>
<asp:TextBox Text='<%# Eval("CompanyAdmin") %>' CssClass="input input1" ID="co_admin"
Width="150" runat="server" ReadOnly="True" />
</td>
</tr>
<tr>
<td>
Admin Email:
</td>
<td>
<asp:TextBox Text='<%# Eval("AdminEmail") %>' CssClass="input input1" ID="ad_email"
Width="150" runat="server" ReadOnly="True" />
</td>
</tr>
<tr>
<td>
Company Email:
</td>
<td>
<asp:TextBox Text='<%# Eval("CompanyEmail") %>' CssClass="input input1" ID="co_email"
Width="150" runat="server" ReadOnly="True" />
</td>
</tr>
<tr>
<td>
Telephone:
</td>
<td>
<asp:TextBox Text='<%# Eval("Telephone") %>' CssClass="input input1" ID="telephone"
Width="150" runat="server" ReadOnly="True" />
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
您可以添加一个简单的函数,该函数在字段为null时返回消息 你调用一个函数,比如
<%#GetWithMsg(Container.DataItem, "CompanyEmail", "e-mail n/a")%>
您可以添加一个简单的函数,该函数在字段为null时返回消息 你调用一个函数,比如
<%#GetWithMsg(Container.DataItem, "CompanyEmail", "e-mail n/a")%>
未测试,但mybe您可以尝试
'<%# !string.IsNullOrEmpty(Eval("CompanyEmail").ToString()) ? Eval("CompanyEmail") : "Email Not Found" %>'
未测试,但mybe您可以尝试
'<%# !string.IsNullOrEmpty(Eval("CompanyEmail").ToString()) ? Eval("CompanyEmail") : "Email Not Found" %>'
我尝试添加您的代码,但由于某种原因,它并没有产生任何影响:它仍然在检索值,但在null时不显示字符串。这可能是什么原因造成的?我使用的是updatepanel,所以当绑定发生时,我需要在selectedindexchange下拉列表中添加任何代码吗?@user618616可能不是null而是空的,同时检查ToString.Lenght==0也可以使用string.IsNullOrEmptyHmm…仍然不显示消息。上面的代码看起来不错,也许你需要强制更新UpdatePanel,这取决于你如何设置控件的层次结构。尝试mYUpdatePanel.Update。我尝试添加代码,但由于某些原因,它并没有产生任何影响:它仍在检索值,但在null时不显示字符串。这可能是什么原因造成的?我使用的是updatepanel,所以当绑定发生时,我需要在selectedindexchange下拉列表中添加任何代码吗?@user618616可能不是null而是空的,同时检查ToString.Lenght==0也可以使用string.IsNullOrEmptyHmm…仍然不显示消息。上面的代码看起来不错,也许你需要强制更新UpdatePanel,这取决于你如何设置控件的层次结构。试试mYUpdatePanel.Update。由于某些原因,任何东西都不起作用……有没有其他方法可以考虑这样做?提前谢谢!抱歉,我没有注意到这个语句,但是,如果没有从db表中检索到任何内容,我会得到一个空白部分,这意味着我们不绑定任何数据,只需在绑定之前测试datatable,并在需要时添加一个空行,例如,if dt.Rows.Count==0{dt.Rows.Adddt.NewRow;}因为某种原因,什么都不起作用……你有没有其他方法可以考虑这样做?提前谢谢!抱歉,我没有注意到这个语句,但是,如果没有从db表中检索到任何内容,我会得到一个空白部分,这意味着我们不绑定任何数据,只需在绑定之前测试datatable,并在需要时添加一个空行,例如,if dt.Rows.Count==0{dt.Rows.Adddt.NewRow;}
'<%# !string.IsNullOrEmpty(((System.Data.DataRowView)Container.DataItem)["CompanyEmail"].ToString()) ? ((System.Data.DataRowView)Container.DataItem)["CompanyEmail"].ToString() : "Email Not Found" %>'
protected void BindData()
{
DataTable dt = DAL.GetData(...
if(dt.Rows.Count == 0)
{
dt.Rows.Add(dt.NewRow());
}
DataList.DataSource = dt;
DataList.DataBind();
}