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