javascriptを使用してac#関数を呼び出したいので、Invisible asp.netボタンをDefault.aspxに追加しました。 javascriptを使用して、C#関数をトリガーしますが、 'null'はnullまたはオブジェクトではありません。問題を解決するためにjavascriptの部分を多くの場所に移動しようとしましたが、動作しませんでした。Javascript getElementByIdが 'null'がnullまたはオブジェクトではないエラーを返します
<asp:Content ID="HeaderContent" runat="server"
ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2> WELCOME </h2>
<div style="display: none;">
<asp:Button ID="button1" runat="server"
OnClick="btn_SearchLibrary_Click" />
</div>
<script type="text/javascript">
function displaymessage() {
var button = document.getElementById('button1');
button.click();
}
</script>
<!-- Some codes in here, below there is a gridview templatefield -->
<asp:TemplateField HeaderText="BookName"
SortExpression="BookName" ItemStyle-Width="150px">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1"
runat="server" Text='<%# Bind("BookName") %>'
NavigateUrl="javascript:displaymessage()"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
レンダリングされたページが古い 'ctl00'プレフィックス形式の代わりにリテラル' id'形式を使用していると確信していますか? –
わかりませんが、.NET 4.0を使用していますので、古い形式にはなりません。 – HOY
JavaScriptはクライアント上にあります。 c#はサーバー上にあります。 JavaScriptからC#関数を "呼び出す"ことはできません - それらは2つの異なるマシン上にあります! –