我有一个带有更新面板的 asp.net 网络表单应用程序。它也在列表视图中,我不知道这是否重要。
我有以下Javascript ..
<script lang="javascript" type="text/javascript">
function pageLoad(sender, args)
{
$(document).ready(function () {
$('textarea.epop').live('click', test);
});
function tes(event)
{
var btn = $(this);
alert(btn.val());
$('#editortext').val(btn.val());
var dialog = $('#edialog').dialog({
modal: true,
width:'auto',
resizable: false,
buttons: {
'OK': function() {
alert($('#editortext').val());
alert(btn.val());
btn.val($('#editortext').val());
$('#editortext').val("");
$(this).dialog('close');
return false;
}
}
});
// Move the dialog back into the <form> element
dialog.parent().appendTo(jQuery("form:first"));
$('#edialog').dialog('open');
return false;
}
}
</script>
然后我在html正文中有这个..
<div id="edialog" title="Edit SQL" style="display: none">
<label for="editortext">
SQL Query:</label>
<textarea rows="20" cols="100" id="editortext" class="editortext"></textarea>
</div>
然后在我的列表视图中的一个列表项中,它位于更新面板内。我有..
<asp:TextBox ID='txtSQLQuery' CssClass="epop" TextMode="multiline" Columns="50" Rows="5" runat="server" Text='<%# Eval("SQLQuery") %>' />
代码第一次完美运行,没有回发。但是说我更改了选择,然后发生了自动回发……然后代码不再设置文本……当您单击确定时……使用警报我可以看到它实际上仍在引用旧值而不是新当前值显示的值似乎调用了点击。
在这一点上,我难住了..