とへの参照があるプレーン.html
ページがあります。を使用して実装しているため、サーバー側が先に実行されます。ただし、サーバーコードを実行する前に関数を実行する必要があります。このソリューションは、次のコードを使用することで利用できます。hiddenField
External.js
ASP.NET
External.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()
渡して値をデータベースに格納することです。したがって、現在、両方の関数を実行している方法は次のとおりです。abcdefg
populateHidden()
.htmlで
<body onload="PassData()">
コードビハインドで
サーバー側が最初に実行populateHidden();
されるため、実行しようとしています。Page_Load