0
asp.net 버튼이 UpdatePanel 안에 싸여 있으며 클릭하면 비동기 포스트 백이 실행되고 jquery 대화 상자를 보여주는 자바 스크립트가 등록됩니다. 당신은 자바 스크립트를 볼 수있는비동기 포스트 백에 자바 스크립트 등록하기
는protected void btnAddData(object sender, EventArgs e) {
StringBuilder jqueryDialog = new StringBuilder();
jqueryDialog.Append("$(document).ready(function() {");
jqueryDialog.Append("RefreshData();");
jqueryDialog.Append("$('#divData').dialog({ modal: false, draggable: true, title: 'Historical Data', width: 700 });");
jqueryDialog.Append("});");
ScriptManager sm = ScriptManager.GetCurrent(this);
if (sm != null && sm.IsInAsyncPostBack) {
ScriptManager.RegisterClientScriptBlock(
this, typeof(Page), Guid.NewGuid().ToString(),
jqueryDialog.ToString(), true);
}
}
첫 번째 기능은 자바 스크립트로 내 마크 업에 존재 RefreshData라는() 함수를 호출합니다.
<script type="text/javascript" language="javascript">
if ($) {
$(document).ready(function() {
function RefreshData() {
alert("Data Refreshed!");
}
});
}
</script>
그러나, 파이어 폭스는 RefreshData이을 정의되지 않은 없다는 오류를주고있다. 비동기 포스트 백에 등록한 모든 자바 스크립트가 내 마크 업에 정의한 JavaScript 함수를 사용할 수 없다는 뜻입니까?
도움 주셔서 감사합니다.
방법 대해서 typeof'에 대한 ($를)! = '정의되지 않음'? – ShankarSangoli
@ShankarSangoli, 좋은 지적. jQuery 테스트에 대한 답을 업데이트했습니다. –
@ 다린 - 감사합니다. 이것은 트릭을했다. – Jagd