Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
Jquery ASP.NET-在运行时访问HTML属性_Jquery_Asp.net - Fatal编程技术网

Jquery ASP.NET-在运行时访问HTML属性

Jquery ASP.NET-在运行时访问HTML属性,jquery,asp.net,Jquery,Asp.net,我想在asp.net页面中使用jquery标记这个插件。 一切正常,但我无法在运行时访问html属性 jQuery插件创建一个带有“数据值”名称的html属性。 当我在运行时访问属性时,它为null! 在aspx代码中定义此属性时,我可以使用初始值访问该属性,而不是通过jquery更改值。 我在浏览器上检查html代码,它看起来很好,一切正常,但在服务器端,我已经初始化了值。 我检查了页面加载和其他事件,但找不到问题或值 我用asp:Panel代替div,使用runat=“server”,但它没

我想在asp.net页面中使用jquery标记这个插件。 一切正常,但我无法在运行时访问html属性

jQuery插件创建一个带有“数据值”名称的html属性。 当我在运行时访问属性时,它为null! 在aspx代码中定义此属性时,我可以使用初始值访问该属性,而不是通过jquery更改值。 我在浏览器上检查html代码,它看起来很好,一切正常,但在服务器端,我已经初始化了值。 我检查了页面加载和其他事件,但找不到问题或值

我用asp:Panel代替div,使用runat=“server”,但它没有改变任何东西

ASPX代码:

<asp:Panel ID="Tags" runat="server" data-value="test" ClientIDMode="Static"></asp:Panel>
和C#代码隐藏:

string t = Tags.Attributes["data-value"];

在页面加载和ASP:按钮上点击事件,它只返回“测试”值

页面元素(如div)上的属性不会回发,因此后面的代码无法读取您可能使用javascript进行的更改

因此,您可以在代码隐藏中设置它们,但如果您使用javascript更改它们,则不会返回到代码隐藏


要在代码隐藏中发送值,请使用
HiddenField
,在那里设置值,然后在代码隐藏中读取值。

html元素的属性永远不会发布到服务器

您需要执行以下操作:

首先,在“保存”按钮上,不要放置任何.NET OnClick方法。仅放置一个调用save函数的javascript方法

其次,在save函数中,找到所有属性并将它们放在隐藏字段中。如果内容是动态的,您可能希望将其序列化为json并将其放在单个隐藏字段中


第三,调用按钮的click事件,在该按钮上附加了一个带有
$(“#buttonId”)的.NET事件。单击()。在此事件中,您将能够找到隐藏字段的内容。

数据属性
标记用于存储与匹配元素关联的任意数据。您是否尝试过
$(“#标记”).data('value')
?还有,您正在使用哪个版本的.net?这是预期的行为。如果您想在不向用户显示的情况下将值返回到服务器,请使用HiddenFields。最后,我使用asp:hiddenfield,但我想知道为什么数据没有传递到服务器。现在我知道这是asp.net行为。感谢您的回复。感谢您的最佳解决方案,我使用此解决方案将属性传递给服务器。感谢您的解决方案。效果很好。不幸的是,asp.net没有将html属性传递给服务器。我在page_load事件中通过代码创建属性,但没有更改任何内容!糟糕的ASP.NET:)@MehdiRizvandi看,由于浏览器的原因,属性没有传递到服务器。asp.net与此无关。好吧,你说得对。然后是坏浏览器;)谢谢你的评论。
string t = Tags.Attributes["data-value"];