' /> -6ren">
gpt4 book ai didi

textbox - 当我在该事件中进行数据绑定(bind)时,Repeater.Items 仅填充在按钮单击事件中,但所有文本框输入均为空

转载 作者:行者123 更新时间:2023-12-01 22:27:24 25 4
gpt4 key购买 nike

我有一个将数据绑定(bind)到 SqlDataSource 的中继器

    <asp:Repeater runat="server" ID="Repeater" DataSourceID="SqlDataSource">
<ItemTemplate>
<asp:HiddenField runat="server" Value='<%# Eval("Code") %>' ID="Code" />
<asp:TextBox ID="NumberNeeded" runat="server" Text='<%# Eval("Needed") %>' /><br />
</ItemTemplate>
</asp:Repeater>
<asp:Button runat="server" ID="submit" Text="submit" OnClick="submit_Click" />
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="rtvFiltered" SelectCommandType="StoredProcedure">
<SelectParameters>
</SelectParameters>
</asp:SqlDataSource>

我想迭代中继器并获取submit_Click中NumberNeeded的值

protected void submit_Click(object sender, EventArgs e)
{
this.Repeater.DataBind(); //comment this guy and this.Repeater.Items has no items
foreach (RepeaterItem item in this.Repeater.Items)
{
String code = ((HiddenField)item.FindControl("JournalCode")).Value;
// below fails because "NumberNeeded" control doesn't have the Text input by the user.
int numNeeded = Int32.Parse(((TextBox)item.FindControl("NumberNeeded")).Text);

// Doing other stuff with numNeeded
}
}

转发器在页面上完美地显示其项目,但是当我单击提交按钮时, this.Repeater.Items 为空(除非我在该方法中调用 this.Repeater.DataBind() )。

我尝试过在 !Page.IsPostBack 检查内部和外部的 Page_Load 和 Page_Init 中显式数据绑定(bind) Repeater,每次我要么没有得到任何 Items,要么没有得到 Text 值。

过去,我在没有母版页的页面上获得了几乎相同的设置。我还注意到,submit_Click 方法中的 this.Master.EnableViewState 为 false,无论我在 Page_Init 或 Page_Load 中将其设置为 true。 this.EnableViewState 为 true。

最佳答案

正如您所说,您不需要在后面的代码中调用DataBind(),因此问题可能出在数据检索上。您的存储过程是否带有任何参数?您是否尝试过将 CancelSelectOnNullParameter="false" 添加到您的 SqlDataSource 中?

关于textbox - 当我在该事件中进行数据绑定(bind)时,Repeater.Items 仅填充在按钮单击事件中,但所有文本框输入均为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16618020/

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