【问题标题】:Unable to access Hidden Field value in server side无法访问服务器端的隐藏字段值
【发布时间】:2013-05-21 07:20:49
【问题描述】:

我有一个隐藏字段,我像这样在 javascript 中为其赋值。

    var rowIndex;
    function GetSelectedRow(lnk) {
        var row = lnk.parentNode.parentNode;
        rowIndex = row.rowIndex - 1;
        var RI = rowIndex;
        document.getElementById('<%= HiddenRowIndex.ClientID%>').value = RI;
        }

在服务器端,我尝试获取类似的字段

    Dim dtsub As New DataTable
    dtsub = CType(ViewState("UploadTimeSlotGroupData"), DataTable)
    Dim dtRow() As DataRow = dtsub.Select(expression)

    If dtRow(0) IsNot Nothing Then
        dtsub.Rows(Val(HiddenRowIndex.Value.ToString)).Delete()
    End If

但我在服务器端只得到 0。我该如何解决这个问题?

【问题讨论】:

  • 也许你的变量RI 真的是0
  • 不,我尝试在警报中获取值。它显示行索引。
  • var RI = rowIndex; 之后做alert(RI);,首先是它的价值,然后为document.getElementById('&lt;%= HiddenRowIndex.ClientID%&gt;').valuealert..
  • 您是否将runat="server" 用于您的hiddenfield
  • @Rahul,我在客户端得到了完美的值。但它在服务器中始终为 0。

标签: asp.net field hidden


【解决方案1】:

我已经解决了这个问题。代码:

        function GetSelectedRow(lnk) {
        var row = lnk.parentNode.parentNode;
        rowIndex = row.rowIndex - 1;
        var RI = rowIndex;
        document.getElementById('<%= HiddenRowIndex.ClientID%>').value = RI;
        }

【讨论】:

  • 您的新代码和旧代码一样,问题出在哪里,您更正了什么。
【解决方案2】:

如果您使用过&lt;input type="hidden"&gt;,请在隐藏字段标签中使用runat="server"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    相关资源
    最近更新 更多