【问题标题】:UserControll form control(Textbox, DropDownList) data loss on postbackUserControll 表单控件(Textbox,DropDownList)回发数据丢失
【发布时间】:2018-04-23 07:27:05
【问题描述】:

这里是用户控件

<div>
    <asp:TextBox ID="NewPickageHeadTXT" runat="server" MaxLength="150" ClientIDMode="Static" EnableViewState="true"></asp:TextBox>    
    <asp:LinkButton ID="np_next" runat="server" Text="გაგრძელება" OnClick="np_next_Click" ClientIDMode="Static" CssClass="newpickage btn blue"></asp:LinkButton>
</div>



protected void np_next_Click(object sender, EventArgs e)
{
     int ClientID;
     if (int.TryParse(Session["ClientID"].ToString(), out ClientID) && FormIsValid())
     {
         string NewPickageHead = NewPickageHeadTXT.Text;
     }
}
bool FormIsValid()
{
    bool IsValid = true;
    if (string.IsNullOrEmpty(NewPickageHeadTXT.Text))
    {
         IsValid = false;
    }
    return IsValid;
}

NewPickageHeadTXT.Text 在 LinkBut​​ton 的回传中为空

顺便说一句,在任何页面生命周期事件中都没有数据更新(像这样 => NewPickageHeadTXT.Text = "some text")。

有什么想法吗??

【问题讨论】:

    标签: c# asp.net webforms user-controls


    【解决方案1】:

    这篇帖子EnableViewState property in textbox可能对你有帮助。

    或者,您可以使用 Ajax 部分回发。 由于您使用的是 Web 表单,因此我建议您使用 AjaxcontrolToolkit。 将您的链接按钮放在更新面板中。 示例:

    <asp:UpdatePanel ID="pnlPostbackArea" runat="server">
    <ContentTemplate>
         Your Linkbutton
    </ContentTemplate>
    </asp:UpdatePanel>
    

    希望它能解决你的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      相关资源
      最近更新 更多