Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何访问Javascript中的变量(在codebehind中设置)_C#_Javascript - Fatal编程技术网

C# 如何访问Javascript中的变量(在codebehind中设置)

C# 如何访问Javascript中的变量(在codebehind中设置),c#,javascript,C#,Javascript,让我详细说明一下:我有一个javascript所在的ASPX页面,我也有三个注册在那里的.ascx页面。我试图在javascript中使用一个在.ascx页面中设置的变量。变量“myDate2”出现错误 我是否需要将JavaScript放在.js文件中才能全局使用它 样本: <%@ Register Src="~/In/MakePayment1a.ascx" TagPrefix="paymnt" TagName="paymnt" %> 您可以将myDate2变量存储在localSt

让我详细说明一下:我有一个javascript所在的ASPX页面,我也有三个注册在那里的.ascx页面。我试图在javascript中使用一个在.ascx页面中设置的变量。变量“myDate2”出现错误 我是否需要将JavaScript放在.js文件中才能全局使用它

样本:

<%@ Register Src="~/In/MakePayment1a.ascx" TagPrefix="paymnt" TagName="paymnt" %>

您可以将myDate2变量存储在localStorage变量中,然后您可以在页面中找到它,而无需为该变量创建任何全局js文件

有关本地存储的详细信息:


您不能直接从页面上下文访问控件的属性(这就是
这个
关键字在代码中的作用)。但这是你能做的

将.ascx.cs页面中的定义修改为:

public DateTime myDate2 {get; set;}
<paymnt:paymnt runat="server" id="MyPaymnt" />
var dt = '<%= MyPaymnt.myDate2.ToString("MM/dd/yyyy") %>';
将其从字段更改为属性。然后转到.aspx页面并在页面上声明控件,如下所示:

public DateTime myDate2 {get; set;}
<paymnt:paymnt runat="server" id="MyPaymnt" />
var dt = '<%= MyPaymnt.myDate2.ToString("MM/dd/yyyy") %>';

然后将其嵌入JavaScript中,如下所示:

public DateTime myDate2 {get; set;}
<paymnt:paymnt runat="server" id="MyPaymnt" />
var dt = '<%= MyPaymnt.myDate2.ToString("MM/dd/yyyy") %>';
var dt='';

将日期格式字符串替换为适合您上下文的任何字符串。

看起来myDate2是嵌入在页面上的ascx控件的公共字段。您必须通过控件引用它

var dt = <%= this.MyControl.myDate2 %>
var dt=
此外,您可能需要引用。你忘了一个分号

var dt = "<%= this.MyControl.myDate2 %>";
var dt=”“;

“我遇到了一个错误”不是很好的描述。告诉我们异常发生在哪一行。更新您的问题以包含它(您应该在开始时包含它)。我的道歉:错误是“ASP in_makepayment_aspx不包含'myDate2'的定义,并且没有扩展方法'myDate2'将异常信息放在问题中,而不是作为注释。这将使其他人更容易看到。太好了!如果除了全局变量或本地存储之外还有其他选择,我会很感兴趣