Tôi đang sử dụng ScriptManager.RegisterStartupScript
để đăng ký các cuộc gọi đến một số lượng lớn các chức năng JS.RegisterStartupScript và thứ tự thực hiện
ScriptManager.RegisterStartupScript(this, this.GetType(), "Script1", "SomeScript1", true);
ScriptManager.RegisterStartupScript(this, this.GetType(), "Script2", "SomeScript1", true);
ScriptManager.RegisterStartupScript(this, this.GetType(), "EndScript", "EndScript", true);
Khi HTML được hiển thị, nó sẽ thêm chúng theo thứ tự.
<script type="text/javascript">
//<![CDATA[
other functions calls..
SomeScript1();SomeScript2();EndScript();
//]]>
</script>
Tuy nhiên, khi tôi bước qua trong chế độ debug, việc thực hiện các kịch bản không theo thứ tự (Ví dụ: EndScript
thực hiện đầu tiên trước khi SomeScript1
hoặc SomeScript2
)
Liệu không ScriptManager.RegisterStartupScript
gaurantee thực hiện theo thứ tự nó đã được thêm vào? Nếu không, các lựa chọn thay thế là gì (Tôi muốn luôn luôn thực hiện EndScript
cuối cùng)
Nhưng chúng được bổ sung theo đúng thứ tự. Liên kết MSDN có ngụ ý rằng chúng sẽ được thêm vào đúng thứ tự nhưng không được thực hiện theo thứ tự đã được thêm vào không? Thật không may, tôi không thể thu thập tất cả các khối tập lệnh thành một chuỗi duy nhất. Bất kỳ cách giải quyết nào khác? – Nick