gpt4 book ai didi

c# - 如何在 Jquery 中正确调用 C# 变量。 'variable name'当前上下文中不存在

转载 作者:行者123 更新时间:2023-12-01 08:04:47 25 4
gpt4 key购买 nike

我在代码隐藏中将几个值存储为via Request.QueryString,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
lblRow.Text = Request.QueryString["num"];
string Image1 = Request.QueryString["ImageAlt1"];
string Image2 = Request.QueryString["ImageAlt2"];
string Image3 = Request.QueryString["ImageAlt3"];
}

}

然后我尝试在 jquery 中调用这些值,但出现 当前上下文中不存在 错误,这是我的 jquery

$("#fancybox-manual-c").click(function () {
$.fancybox.open([
{
href: "<%= Image1 %>",
title: 'My title'
}, {
href: '<%= Image2 %>',
title: '2nd title'
}, {
href: '<%= Image3 %>'
}
], {
helpers: {
thumbs: {
width: 75,
height: 50
}
}
});
});

我不确定我做错了什么。我唯一的猜测是 jquery 在变量被选取之前被调用,因为它应该被设置。

这是我的表单 View ,我在其中调用其余项目:

<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource3" 
DataKeyNames="num">
<ItemTemplate>
<asp:Label ID="ItemType_Label" runat="server" Text='<%# Bind("ItemName") %>' />
<br />
<asp:Label ID="ItemDescription_Label" runat="server" Text='<%# Bind("ItemDescription") %>' />
<br />
<b>Asking Price:</b>
<asp:Label ID="ItemPrice_Label" runat="server" Text='<%# Bind("ItemPrice") %>' />
<br />
<ul>
<li><a id="fancybox-manual-c" href="javascript:;">Open gallery</a></li>
</ul>

</ItemTemplate>
</asp:FormView>

最佳答案

一切都与范围有关。 Image1Image2Image3Page_Load 方法中的局部变量。您应该直接在类中声明它们,而不是在任何方法中。

public class MyApp
{
public string Image1;
public string Image2;
public string Image3;

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
lblRow.Text = Request.QueryString["num"];
Image1 = Request.QueryString["ImageAlt1"];
Image2 = Request.QueryString["ImageAlt2"];
Image3 = Request.QueryString["ImageAlt3"];
}
}
}

关于c# - 如何在 Jquery 中正确调用 C# 变量。 'variable name'当前上下文中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17435049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com