隐藏的输入没有从代码后面读取

本文关键字:代码 读取 输入 隐藏 | 更新日期: 2023-09-27 18:20:19

我有一个隐藏的输入,用于存储存储过程使用的数字。我有一个按钮,当点击时,它会更新输入的值。

<telerik:RadAjaxPanel>
.... other stuff ....
    <input type="hidden" id="NumberOfResults" runat="server" />
</telerik:RadAjaxPanel>
var numOfResults = RadAjaxPanel1.FindControl("NumberOfResults") as HtmlInputHidden;
numOfResults.Value = "250";

当我使用Firebug查看输入时,它的值应该是250

问题是:下次我调用输入时,值不是250,而是以前的值:

protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        var resultsInput = (HtmlInputHidden)RadAjaxPanel1.FindControl("NumberOfResults");
        int? numberOfResults = Convert.ToInt32(resultsInput.Value);            
        //This ^ should be 250
        long? routeID = Convert.ToInt64(RouteID.Value);
        RadGrid1.DataSource = GetDataTable(customerID, null, plantID, numberOfResults, routeID);
    }

如何获取NeedDataSource事件以查看新值?

注:该值最初在Page_Load事件中设置:

public void Page_Load(object sender, EventArgs e)
    {           
        //Initial values for filtering
        NumberOfResults.Value = Convert.ToString(int.MaxValue);
    }

隐藏的输入没有从代码后面读取

Page_Load将在每次返回的帖子中触发,您应该检查IsPostBack,而不是设置NumberOfResults。值