這個問題一直在竊聽我,任何解釋爲什麼這會有所幫助。Asp.NET沒有獲取由javascript設置的自定義屬性的更新值
鑑於以下DOM:
<body>
<form id="form1" runat="server">
<div id="myDiv" runat="server" data-type="Monkey">
Choose your inner animal!
<ul>
<li class="selected">Monkey</li>
<li>Tiger</li>
<li>Dog</li>
<li>Bunny</li>
</ul>
</div>
<asp:Button runat="server" ID="btnSubmit" Text="Submit" />
</form>
</body>
<script src="Assets/js/jquery-1.9.0.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('li').bind('click', function() {
$('li.selected').removeClass('selected');
var animal = $(this).addClass('selected').text();
//$('#myDiv').data('type', animal);
$('#myDiv').attr('data-type', animal);
});
});
</script>
代碼背後:
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub btnSubmit_Click(sender As Object, e As System.EventArgs) Handles btnSubmit.Click
Dim type As String = myDiv.Attributes("data-type")
MsgBox(type)
End Sub
End Class
的MSGBOX 總是回來了 '猴子' 的默認值。現在我確實實施了一種解決方法,將該值存儲在隱藏字段中,然後在按鈕單擊時調用該值並且可以工作。我確實嘗試過更新面板,但沒有運氣,但這並不重要,因爲我討厭更新面板,並且從不使用它們。
更新面板是驚人的... – 2013-02-26 18:22:12