如何设置,回发和检索hiddenField值?

时间:2012-12-07 21:14:51

标签: javascript jquery asp.net vb.net-2010

我有一个带有3个输入类型“text”字段的asp gridview。这些字段由查询填充,每行都有EDIT选项。当我点击gridview中的编辑按钮时,它会回发,但输回字段的值当然会在回发期间丢失:(。所以我想将值存储到隐藏字段中,然后在服务器端使用它。这些是在edititemtemplate标记内。

<input type="text" id="editBeginDate" class="DatePicker" runat="server" readonly="readonly" />
<asp:HiddenField ID="ehBeginDate" runat="server" />

我正在使用this ...

通过jquery设置document.ready中隐藏字段的值
      $(document).ready(function () {
        $("[id$=ehBeginDate]").val();
    });

当用户点击编辑时发生了什么,它将行设置为编辑模式,但这3个输入字段中的值设置为空,因为它会在回发中的某些位置“丢失”。我的计划是检索隐藏字段值(并接管世界!jk),然后执行.findcontrol(“inputfield”)并设置其text = hiddenfield.value ... ideas ??

2 个答案:

答案 0 :(得分:0)

如果您在创建网格时使用OnRowEditing属性,则可以在事件中添加一行可以帮助您解决问题。

尝试将此作为行编辑的第一行。然后通过获取值并插入它们来交换文本框中的单元格。ASP Gridview内置了默认编辑,但我不认为它会在显示文本框之前挂起您的值。

要添加到编辑活动的行

e.Cancel = true;

答案 1 :(得分:0)

我使用那个事件,我这样做是为了找到网格中的控件,然后拉出值,但问题是这个...当我点击此事件时,值已经从之前声明的输入控件中消失了.. ..ideas?

 Dim txtBeginDate As System.Web.UI.HtmlControls.HtmlInputText = gv.Rows(e.NewEditIndex).FindControl("editBeginDate")