Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 数据绑定在文本框和标签上的行为不同_Asp.net_Data Binding_C# 4.0 - Fatal编程技术网

Asp.net 数据绑定在文本框和标签上的行为不同

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

我有一个数据库,其中一行的“noteText”列中有“TEXTTEXT”,另一行在该列中有
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:Removing
ViewStateMode=“Disabled”
不会更改结果。嗯,好的,谢谢您的检查。