2016-02-26 51 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>