gridview数据绑定表达式中的错误:'输入字符串格式不正确'

时间:2015-03-13 14:51:53

标签: c# asp.net gridview

以下是引发错误的行:

<asp:CheckBox ClientID='<%# Eval("ProviderName") + "@" + Convert.ToString(Container.DataItemIndex) %>' runat="server"

这是我的数据来源:

var patientProviders = (from t in adminDb.tbl_patients_patients_to_providers
                                        join p in adminDb.tbl_patients_providers on t.ProviderId equals p.ProviderId_this
                                        join ps in adminDb.tbl_patients_providers_to_specialties on p.ProviderId_this equals ps.ProviderId
                                        join s in adminDb.tbl_patients_providers_specialties on ps.SpecialtyId equals s.ProviderSpecialtiesId_this
                                        where t.PatientId == patientId
                                        orderby t.PatientToProviderId_this
                                        select new { p.ProviderName, s.ProviderSpecialty, t.ProviderTypeId }).ToList();

ProviderName是一个字符串。

我无法弄清楚为什么输入格式不正确...

2 个答案:

答案 0 :(得分:0)

Control.ClientId只有一个&#34; get&#34;所以我认为它是只读的:

- from MSDN - 
[BrowsableAttribute(false)]
public virtual string ClientID { get; }

答案 1 :(得分:0)

首先,ClientID是一个reaonly属性。你只有一个吸气剂。

但是如果您想要绑定的表达式有问题,请使用GridView.RowUpdating事件处理程序,它允许您操作要在代码隐藏中绑定的表达式。(帮助调试问题的方法)