我如何访问Javascript中的变量,设置在我的代码隐藏
本文关键字:设置 变量 我的 隐藏 代码 何访问 访问 Javascript | 更新日期: 2023-09-27 18:12:09
让我详细说明:我有一个ASPX页面,其中javascript驻留,我有三个。ascx页面注册在那里以及。我试图在javascript中使用一个变量,该变量设置在.ascx页面中。我得到一个错误的变量"myDate2"我需要把我的JavaScript在一个。js文件,以便在全局使用它吗?
示例:<%@ Register Src="~/In/MakePayment1a.ascx" TagPrefix="paymnt" TagName="paymnt" %>
javascript: $(document).ready(function () {
var dt = <%= this.myDate2 %>
alert("this is my date :" + dt);
$(function () {
var daysValid = [1, 5, 10, 15, 20, 25];
var sdate = new Date();
var edate = new Date();
edate.setDate(edate.getDate() + 25);
$("#datepicker").datepicker({
minDate: sdate,
maxDate: edate,
beforeShowDay: disableSpecificWeekDays,
showOn: "button",
buttonImage: "../Images/small_calendar3.jpg",
buttonImageOnly: true
});
背后代码:from .ascx
public DateTime myDate2;
myDate2 = (DateTime)(SummaryDT.Rows[0]["payment_date"]);
您不能直接从页面上下文访问控件的属性(这是this
关键字在您的代码中所做的)。但你可以这样做。
将. asx .cs页面中的定义修改如下:
public DateTime myDate2 {get; set;}
将它从一个字段更改为一个属性。然后进入.aspx页面,像这样在页面上声明控件:
<paymnt:paymnt runat="server" id="MyPaymnt" />
然后像这样嵌入到JavaScript中:
var dt = '<%= MyPaymnt.myDate2.ToString("MM/dd/yyyy") %>';
将日期格式字符串替换为适合您上下文的任何内容
看起来myDate2是嵌入在页面上的ascx控件的公共字段。你必须通过控件
引用它var dt = <%= this.MyControl.myDate2 %>
另外,你可能需要引号。你还忘了加分号
var dt = "<%= this.MyControl.myDate2 %>";
您可以将myDate2变量存储在localStorage变量中,然后您可以在您的页面中找到它,而无需为相同的
创建任何全局js文件关于localStorage的更多信息:
W3School解释一个不错的博客