2016-02-26 25 views
0

IM试图从一个HTMLControl时... 数据属性从一个js函数设置好的数据属性(数据图标),但是当页面做回传,返回(在代码隐藏)一个空字符串ASP.net WebForms - 如何从代码隐藏中获取html5数据属性?

theres任何方式,任何财产或要得到它?

我的代码:

HTML:

<button id="btnIcon" runat="server" class="btn btn-default iconpicker" data-icon=""></button> 

后面的代码:

string icon = btnIcon.Attributes["data-icon"].ToString(); 

PS:该属性是由一个js插件通过jQuery改变。

+1

我怀疑你可以做到这一点,属性在客户端进行更改,并在服务器端只发送POST变量,所以属性不是。也许你可以将属性也存储在隐藏字段中? – Gusman

+0

你如何在jQuery中设置数据图标值?从技术上讲,只要控件是asp.net元素,就可以访问它的属性。 – DinoMyte

+0

@DinoMyte不,那是不正确的。只有表单值在回发时提交。属性不是,除非你手动做些什么来将它们与表单值放在一起。 – mason

回答

0

@Gusman是对的。你需要一个hiddenfield

<asp:HiddenField ID="hfDataIcon" Value="" runat="server" ClientIDMode="Static" /> 

,使jQuery的不仅设置data-icon也是hfDataIcon值。当您将eval绑定到值时,您也可以使用startvalue填充隐藏字段。

<asp:HiddenField ID="hfDataIcon" Value="" runat="server" ClientIDMode="Static" Value='<%# Eval("dataIcon") %>' /> 

这里是一些jQuery来设置hiddenfield,它可以在后面的代码中被访问,

<script type="text/javascript" language="javascript"> 
$(document).ready(function() { 
    $('input#hfDataIcon').val('icon name here'); 
}); 
</script>