gpt4 book ai didi

c# - 在 TextBox 中使用 Bind 在 TextBox 控件外呈现绑定(bind)数据

转载 作者:行者123 更新时间:2023-11-30 18:44:06 26 4
gpt4 key购买 nike

我有一个 ListView(在更新面板中)绑定(bind)到一个 ObjectDataSource(连接到一个 NHibernate 对象)并且在 EditItemTemplate 我使用

Text='<%# Bind("HideLocation")%>' 

绑定(bind)到对象的字符串属性。

当我点击编辑(两次,我遇到的另一个问题)并在 Chrome 中查看代码时,输​​出如下所示:

<div class="InputLine InputLineLevel2">
<div class="InputLabel">Hide Location:</div>
<div class="InputControl">
"
In locker 2317"
<input
name="ctl00$MainContentPlaceholder$ItemDetailsListView$ctrl0$txtItemHideLocation"
type="text"
maxlength="128"
id="ctl00_MainContentPlaceholder_ItemDetailsListView_ctrl0_txtItemHideLocation"
style="width:300px;">
</div>
</div>

.aspx 代码如下所示:

 <asp:UpdatePanel ID="ItemDetailsUpdatePanel" UpdateMode="Always" runat="server">
<asp:ListView ID="ItemDetailsListView" runat="server" ...>
<EditItemTemplate>
<fieldset class="FieldsetLevel2">
<legend>Edit Item: <%# Eval("SearchItem.SearchItemName") %></legend>
<div class="InputLine InputLineLevel2">
<div class="InputLabel">Hide Location:</div>
<div class="InputControl">
<asp:TextBox ID="txtItemHideLocation" Width="300px"
Text='<%# Bind("HideLocation")%>'
runat="server"></asp:TextBox>
</div>
</div>
... a bunch of other controls & end tags

为什么绑定(bind)数据的值(在本例中:在储物柜 2317 中)显示在文本框之外而不是作为数据的内容?有什么想法吗?

最佳答案

好吧,我找到了一个解决方案,而且很有趣。我还在我原来的问题中提供了虚假信息,这可能会造成所有的不同。

我将我所有的代码都移到了一个单独的项目中,并将其缩减为仅包含基础部分。我仍然必须单击按钮两次才能刷新,并且文本仍在 TextBox 之外。我最终发现有人描述了一个不同的问题,这让我意识到我没有绑定(bind)到对象数据源。我在 ListView 中绑定(bind)了一个控件,而不是 listview 本身。 ListView 绑定(bind)到从我的数据模型对象之一返回的 ISet。

因此,问题在于(显然,我将在下面解释为什么我不相信)当您不使用 xDataSource 控件时,无论何时更改 ListView 的状态,您都需要进行数据绑定(bind)。我想这个概念也可以移植到其他数据控件,事实上我知道我以前在使用其他 DataBound 控件时遇到过它。

这次似乎有所不同,我之所以没有立即了解,是因为它几乎奏效了。该事件在第一次回发时触发,并设置了 EditItemIndex。这对显示没有影响(尽管发生在 PreRender 事件之前)所以我猜它与事件模型和 ListView 控件的内部工作之间的交互有关。然而,在第二次回发时(再次单击按钮)事件没有被触发,但显示已更新(使用我的数据源中的数据,尽管不是我想要的位置)。

当我在更改 EditIndex 后将代码修改为数据绑定(bind)时,它不仅消除了对第二次回发的需要,而且将数据绑定(bind)文本放置在 TextBox 中,而不是之前。

关于c# - 在 TextBox 中使用 Bind 在 TextBox 控件外呈现绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com