【问题标题】:I want hidden field value from c# to my javascript我想要从 c# 到我的 javascript 的隐藏字段值
【发布时间】:2014-02-14 05:21:34
【问题描述】:

我在服务器上运行了隐藏字段,并在我的 c# 代码中为其设置了值,当我单击一个按钮时,我希望将该值传输到我的 javascript 或 jquery,并且该按钮也在更新面板中。所以不会发生回发。我通过 registerstartupscript 调用它但没有用,这是我的 c# 代码

using (MemoryStream ms = new MemoryStream())
{
     // Convert Image to byte[]
     image.Save(ms, ImageFormat.Png);
     byte[] imageBytes = ms.ToArray();

     // Convert byte[] to Base64 String
     base64String = "data:image/png;base64," + Convert.ToBase64String(imageBytes);
}

hidImgQR.Value = base64String;
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "myScript", getImgQR();", true);

在jQUERY中

function getImgQR() 
{   
    alert($("input[id$=hidImgQR]").val());      
}   

我尝试了许多不同的方法,但它不起作用,可能是因为更新面板它没有采用最新值,但只有我分配的默认值..

【问题讨论】:

    标签: c# javascript jquery asp.net hiddenfield


    【解决方案1】:

    你也可以这样做

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

    【讨论】:

      【解决方案2】:

      拥有隐藏字段控制

      <asp:HiddenField id="fileId" runat="server" value='Nishant' />
      

      将返回隐藏字段值的 JavaScript 代码

      document.getElementById("<%= fileId.ClientID %>").value;
      

      注意你也可以让ClientIDMode="Static"为你的控件使用这个属性,并通过id本身检索它'fileId'ForInstance:

      <asp:HiddenField id="fileId" runat="server" ClientIDMode="Static" value='Nishant' />
      

      并使用 JavaScript 代码:

      document.getElementById("fileId").value;
      

      它也会返回 Nishant,但 Id 将是静态的。当您确定没有一个控件具有相同的 Id 时,仅使用 ClientIDMode="Static

      可运行的 Asp.Net 代码 http://runnable.com/UjsLAmP-yM0VAADp/asp-net-how-to-get-server-control-value-in-javascript

      【讨论】:

        【解决方案3】:

        你可以这样做:

           alert($("<%= hidImgQR.ClientID %>").val());
        

        调用按钮在pageLoad()内的点击:

        <script type="text/javascript"> 
        function pageLoad() { 
            $("#yourbtn").click(function(){
            alert($("<%= hidImgQR.ClientID %>").val());
           });
          } 
        </script>
        

        【讨论】:

        • 我也试过了,问题不是没有得到价值,问题是没有得到正确的价值,我想可能是因为更新面板
        • 我想,你正在使用document.ready()。如果您有更新面板,请在 jquey 的 pageload() 中使用它
        • 我没有使用它们,我只是在单击按钮时调用函数 getImgQR()
        • 在 Jquery 的 pageload() 中写入该函数
        猜你喜欢
        • 2015-08-13
        • 1970-01-01
        • 2016-04-13
        • 2017-08-16
        • 2015-02-15
        • 1970-01-01
        • 2018-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多