c# – 在javascript中访问ASP HiddenField

c# – 在javascript中访问ASP HiddenField,第1张

概述我一直在这里搜索和谷歌几天,试图弄清楚为什么我不能在 javascript中获得隐藏字段变量的值.访问时,该值将返回undefined. 我在UpdatePanel中有一个ASP HiddenField,它是.aspx网页中自定义用户控件的一部分(标准问题). 在我的用户控件中,我需要在C#中设置后在javascript中获取HiddenField(hdnServer)的.Value.但由于某种原 我一直在这里搜索和谷歌几天,试图弄清楚为什么我不能在 javascript中获得隐藏字段变量的值.访问时,该值将返回undefined.
我在UpdatePanel中有一个ASP HIDdenFIEld,它是.aspx网页中自定义用户控件的一部分(标准问题).

在我的用户控件中,我需要在C#中设置后在JavaScript中获取HIDdenFIEld(hdnServer)的.Value.但由于某种原因,以下内容没有得到正确的值.

C#代码中的MessageBox返回正确的值(此处的代码具有测试值),但是在JavaScript中访问时未定义.

userControl.ascx:

//this function is called when the timer created in document.ready() elapses//returns the correct hdnServer value in the check.     var checkHdn = function () {        var temp = document.getElementByID("<%=hdnServer.ClIEntID%>").value;        temp = temp.toString();        if (temp != "") {            $('#LoadingVIEwer').hIDe();            clearInterval(checkSrv);            //enable start button            $('#startBtn').attr("Enabled","true");        }    };  function RdpConnect() {                //servername = undefined here.  should be ip address when set in c#                 var servername = document.getElementByID("<%= hdnServer.ClIEntID %>").value;                alert(servername);                if (servername != "") {                    MsRdpClIEnt.Server = servername;                }            };

userControl.ascx.cs代码隐藏:

public partial class userControl : System.Web.UI.UserControl    {        System.Timers.Timer timer;         protected voID Page_Load(object sender,EventArgs e)        {            timer = new System.Timers.Timer(5000);            timer.Start();        }        protected voID testOnTick(object sender,System.Timers.ElapsedEventArgs e)        {                hdnServer.Value = "test value";                startBtn.Enabled = true;                timer.Enabled = false;        }    }

这里是HIDdenFIEld的asp,以防万一:userControl.ascx:

<asp:ScriptManager ID="ScriptManager1" runat="server" /><asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">    <Triggers>         <!--trigger not used  -->       <!-- <asp:AsyncPostBackTrigger ControlID="Timer1" Eventname="Tick" />-->    </Triggers>    <ContentTemplate>        <asp:HIDdenFIEld ID="hdnServer" runat="server" />        <asp:Label ID="Label1" Text="Loading,please wait." CSSClass="loading" runat="server"            Font-Size="XX-Large" />    </ContentTemplate></asp:UpdatePanel>

提前感谢您的任何建议!

编辑:消息框已删除..
这里呈现的是HTML:http://pastie.org/3122247

解决方法 如果要使其简单,则需要设置ClIEntIDMode:

<asp:HIDdenFIEld runat="server" ClIEntIDMode="Static" ID="hIDServer"/><script type="text/JavaScript">  alert($("#hIDServer").val());</script>

或者,如果未设置ClIEntIDMode,请使用ClIEntID属性:

<asp:HIDdenFIEld runat="server" ID="hIDServer"/><script type="text/JavaScript">  alert($("<%= hIDServer.ClIEntID %>").val());</script>
总结

以上是内存溢出为你收集整理的c# – 在javascript中访问ASP HiddenField全部内容,希望文章能够帮你解决c# – 在javascript中访问ASP HiddenField所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1222078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存