来自JavaScript的HiddenField始终为NULL - c#

当右键单击时,我创建了一个上下文菜单并与Gridview关联。问题是,当从该上下文菜单中按一个按钮时,我想从HiddenField获取值。但是它总是返回null。我一直在阅读,我认为这可能是因为DOM尚未完全加载,但是我无法使用$(document).ready()来解析它。可能以错误的方式使用它。

让我知道您是否有任何想法

HTML:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="../../../Scripts/PendientesDataGridContextMenu.js"></script>
<link href="../../../Styles/ContextMenu.css" rel="stylesheet" type="text/css" />
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<asp:HiddenField ClientIDMode="static" runat="server" ID="hdnSomeField" />
<asp:HiddenField ClientIDMode="static" ID="fldNumeroCQCallTx" runat="server"  />
<asp:HiddenField ID="fldNumeroCQMalaPractica" runat="server"  />

<div id="myMenu" class="contextMenu">
<table style='width:100%;'>
<tr><td onclick="fnCargarfldNumeroCQCallTxYClickear();">Registrar</td></tr>
<tr><td onclick="fnDelete();">Registrar2</td></tr>
</table>
</div>

<asp:LinkButton ID="lnkCallTx" runat="server"
style="display:none" OnClick="lnkCallTx_Click" />

C#代码:

protected void Page_Load(object sender, EventArgs e)
    {
        //Associate Context Menu to Gridview
        Page.ClientScript.RegisterStartupScript(GetType(), "Script", "fnLinkearContextMenu(); ", true);

    }

Java脚本:

function fnLinkearContextMenu() {

    $("#myMenu").hide();

    $("table[id$='cntMainPlaceHolder_MainContent_PendientesGestionDeTareasDataGridView'] > tbody > tr").bind('contextmenu', function (e) {
        $("#myMenu").hide();
        e.preventDefault();
        $("#myMenu").css({
            top: e.pageY + "px",
            left: e.pageX + "px",
            position: 'absolute'
        });

        //document.getElementById('<%= lnkCallTx.ClientID %>').value = rowid;
        $("#myMenu").show();

    });

    //Cuando realizan click izquierdo en otra parte de la pagina

    $(document).bind('click', function (e) {
        $("#myMenu").hide();
    });

};

function fnCargarfldNumeroCQCallTxYClickear() {

    var lnkView = document.getElementById('<%=lnkView.ClientID %>').value;
    var lnkCallTx = document.getElementById('lnkCallTx');

    lnkCallTx.click();
};

c#参考方案

无法从隐藏字段中获取值的原因与服务器标签有关。在这种情况下,被称为服务器标记,因此它们必须点击后面的代码(aspx.cs文件)才能解析传入的值。在.js文件中,没有代码,因此,与其解析该值,不如将静态字符串放入输出脚本中。

脚本:

document.getElementById('<%= lnkView.ClientID %>').value;

.aspx文件输出:

document.getElementById('cntMainPlaceHolder_MainContent_lnkView').value;

.js文件输出:

document.getElementById('<%= linkView.ClientID %>').value;

为了证明这一点,您可以在使用的浏览器中打开代码检查器(很可能是f12),然后查看包含的脚本。您将看到其中有<%标记应已解决。同样的概念也将适用于JQuery:

$('#<%= lnkView.ClientID %>').val();

将python scikit学习模型导出到pmml - python

我想将python scikit-learn模型导出到PMML。哪个python软件包最合适?我阅读了有关Augustus的内容,但是我无法使用scikit-learn模型找到任何示例。 python大神给出的解决方案 SkLearn2PMML是 JPMML-SkLearn命令行应用程序周围的薄包装。有关受支持的Scikit-Learn Estimator和…

将简单的javascript代码转换为c# - javascript

昨天我在这里问了一个问题。使用javascript和html解决方案很简单前一阵子我打算什么是操纵html来执行javascript中的任务但是我改变了主意,将javascript代码重写为c#这是输入<Abstract> <Heading>Abstract</Heading> <Para TextBreak=�…

如果复选框切换复选框已选中,则在切换div中输入必填字段 - javascript

我使用脚本用JavaScript切换了一些div。如果要选中复选框以显示toogle div,我想在toogle div中设置一些“必填”输入字段。有人能弄清楚吗?那是工作吗?function show(id) { if(document.getElementById) { var mydiv = document.getElementById(id); m…

提交表单后显示模式对话框 - php

提交下载文件后,我有一张表格。我要自动而不是自动下载文件..以显示模态对话框并显示下载链接。<form name="softwareform" id="softwareform" action="../downloadlink.php" method="POST" alig…

DataSourceTransactionManager和JndiObjectFactoryBean和JdbcTemplate的用途是什么? - java

以下的用途是什么:org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.datasource.DataSourceTransactionManager org.springframework.jndi.JndiObjectFactoryBean <tx:annotatio…