【发布时间】:2015-12-09 16:59:00
【问题描述】:
在制作网站时,我遇到了一个问题。因为我动态创建了一个“详细信息”按钮,所以我需要使用隐藏值来查看“加载时”按钮是否已被单击。
Wegpage + Jquery 部分:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<link href="css/assortiment.css" rel="stylesheet" />
<script src="js/jquery.js"></script>
<script type="text/javascript">
function detailKlik()
{
var hid = $('#<%=hd.ClientID %>');
hid.val("true");
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:HiddenField ID="hd" runat="server" Value="abc"/>
...
每当我按下动态生成的按钮时,我都可以看到 javascript 运行正常。 I can see the original value in the element.
I can even see the "Value" value is changing.
但是当我在我的 c# 代码中调试时,HiddenField 的值又回到了原来的值。
谢谢你:)
【问题讨论】:
-
我对您的问题并不完全清楚,但我认为您不能从客户端 (Javascript/jQuery) 代码中操作服务器端 (C#) 代码。
-
您是否查看过浏览器使用 F12 工具向 ASP.NET 页面发送的内容?更新的值是否正在发送到服务器?
-
@DaveB 当我在 Chrome 中使用 F12 工具并查看元素时,我可以看到值已更改为 true
-
@B.ClayShannon 我只是想在 HTML 代码中操作一个元素。在 C# 中,我试图通过相同的元素获取此值。奇怪的是 HTML 代码中的值正在改变......但是当我请求 C# 中的值时,它没有改变。我注意到该值始终与起始值相同...
-
@JasperCallens 检查 F12 工具中的网络选项卡并检查发送到服务器的内容。如果这是一个 HTTP POST 操作,您正在寻找请求正文。试图确定更改的值是否正在发送到服务器。
标签: javascript c# jquery asp.net hiddenfield