とへの参照があるプレーン.htmlページがあります。を使用して実装しているため、サーバー側が先に実行されます。ただし、サーバーコードを実行する前に関数を実行する必要があります。このソリューションは、次のコードを使用することで利用できます。hiddenFieldExternal.jsASP.NETExternal.js
*.aspx内*
<script src="External.js" type="text/javascript"></script>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />`
.aspx.vb内
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
If Not Page.IsPostBack Then
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "register", "MyFunction();", True)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
ページを使用しているとき、コードは完全に機能し.aspxます。ASP.NET明らかに、プレーン.htmlページでサーバーコントロールを使用することはできません。したがって<asp:ScriptManager>、.htmlページでの使用は機能しません。どうすれば同じことを1ページで行うことが.htmlできますか。で定義する必要があるものと、コントロールを.html page使用できないことを念頭に置いて、コードビハインドから関数を呼び出す方法を教えてください。<asp:>
さて、私がやろうとしているのは、基本的に値を設定するExternal.js関数を持つmyを持っているということです。populateHidden()hiddenField
function populateHidden()
{
document.getElementByID('Hidden').value = "abcdefg";
}
PassData()また、基本的ajax requestにサーバーに初期化して、の値をHiddenコードビハインドに渡す(webMethodを使用)別の関数もあります。問題は、populateHidden()最初に実行して、(実行後に)コードビハインドにpassData()渡して値をデータベースに格納することです。したがって、現在、両方の関数を実行している方法は次のとおりです。abcdefgpopulateHidden()
.htmlで
<body onload="PassData()">
コードビハインドで
サーバー側が最初に実行populateHidden();されるため、実行しようとしています。Page_Load