Я хочу вызвать функцию aC# с помощью javascript, поэтому я добавил невидимую кнопку asp.net в свой Default.aspx, и теперь я звоню, чтобы позвонить ей внутри javascript, чтобы он запускал функцию C#, но он дает «null», является нулевым или не является объектом. Я попытался переместить часть javascript во многие места, чтобы решить проблему, но она не сработала.Javascript getElementById дает ошибку «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>
Вы уверены, что отображаемая страница использует литеральный формат 'id' вместо старого формата' 'ctl00'? –
Я не уверен, но я использую .NET 4.0, поэтому, возможно, это будет не старый формат, я прав – HOY
JavaScript находится на клиенте. C# находится на сервере. Вы не можете «вызывать» функцию C# из JavaScript - они находятся на двух разных машинах! –