Asp.net 数据绑定在文本框和标签上的行为不同
我有一个数据库,其中一行的“noteText”列中有“TEXTTEXT”,另一行在该列中有Asp.net 数据绑定在文本框和标签上的行为不同,asp.net,data-binding,c#-4.0,Asp.net,Data Binding,C# 4.0,我有一个数据库,其中一行的“noteText”列中有“TEXTTEXT”,另一行在该列中有null。如果我运行一个生成1行的查询,然后运行另一个包含2行的查询,Eval(“noteText”)在文本框中与放置在标签中时返回不同的信息。文本框和标签是专门为此测试创建的;代码隐藏中没有引用它。我认为第二个查询的第1行的TextBox,就是拉取第一个查询的第1行中使用的数据 我不认为这可能是与浏览器相关的问题,因为返回页面的源代码本身是不正确的 Aspx文件代码: <asp:TemplateFi
null
。如果我运行一个生成1行的查询,然后运行另一个包含2行的查询,Eval(“noteText”)
在文本框中与放置在标签中时返回不同的信息。文本框
和标签
是专门为此测试创建的;代码隐藏中没有引用它。我认为第二个查询的第1行的TextBox
,就是拉取第一个查询的第1行中使用的数据
我不认为这可能是与浏览器相关的问题,因为返回页面的源代码本身是不正确的
Aspx文件代码:
<asp:TemplateField HeaderText ="Notes" SortExpression="noteid">
<ItemTemplate>
STARTXX
<asp:TextBox ID="AtxtNote" ViewStateMode="Disabled" runat="server"
TextMode= "SingleLine" Width="260" Text='<%# Eval("noteText") %>' />
<br />
<asp:Label ID="BtxtNote" runat="server" Width="260"
Text='<%# Eval("noteText") %>' />
<br />
ENDXX
</ItemTemplate>
</asp:TemplateField>
STARTXX
ENDXX
第页的源代码:
STARTXX
<input name="ctl00$CPH1$gv$ctl02$AtxtNote" type="text"
value="TEXTTEXT" id="ctl00_ContentPlaceHolder1_gv_ctl02_AtxtNote"
style="width:260px;" />
<br />
<span id="ctl00_CPH1_gv_ctl02_BtxtNote"
style="display:inline-block;width:260px;"></span><br />
ENDXX
STARTXX
ENDXX
实际间距有点不同;我编辑了源代码和输出代码的文本,以防止水平滚动
我希望两个Eval
调用都显示空字符串。我们通过向数据绑定添加更多调用来修复它
当前的理论是,当单击按钮查询数据库时,文本框
被提交。在数据绑定
发生后,Asp.Net用提交的数据重新填充文本框
。TextBox
现在逻辑上对应于数据库中的另一行,但与上一页视图中的TextBox
处于相同位置,因此具有相同的ClientID
这种怀疑的一个原因是帖子触发了OnTextChanged
事件
我仍然对此不满;我没有充分的信心知道发生了什么,即使它现在正在工作。有趣:)如果你发现这个问题并与我们分享,我会非常高兴。其次,你能删除ViewStateMode=“Disabled”这个属性并检查结果是否相同吗?@Muhammad:RemovingViewStateMode=“Disabled”
不会更改结果。嗯,好的,谢谢您的检查。