![](/img/trans.png)
[英]adding css class from code behind on page load asp.net C# using javascript
[英]Call code from code behind on page load in ASP.net?
我只是想在頁面加載后立即從 immediateky 后面的代碼中調用代碼。
我怎樣才能做到這一點? 我嘗試制作一個不可見的按鈕,然后嘗試在加載時單擊它,但這對我不起作用。 希望有更簡單的方法。
這是后面的代碼。 文件名是CodeBehind.aspx.cs
:
public partial class DoTheThing: InjectablePageBase
{
private string GetURL(Object sender, EventArgs e){
// RUN MY CODE
}
}
這是.aspx
文件的相關部分:
<%@ Page Language="C#" AutoEventWireup="false" CodeBehind="CodeBehind.aspx.cs" Inherits="Test.GuideMe.DoTheThing" MasterPageFile="~/Theme/Framework.Master"%>
<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="PageContentPlaceHolder">
<script Language="JavaScript">
window.onload = function() { document.querySelector('#invisibleGuideMeBtn').click() };
</script>
<div>
<a id="invisibleGuideMeBtn" href="#" onclick="<%= GetURL %>" target="_self" runat="server">The Link</a>
<%-- <asp:Button ID="invisibleGuideMeBtn" Text="Edit" onclick="GetURL" CssClass="btn btn-primary"/> --%>
<%-- <asp:LinkButton id="invisibleGuideMeBtn" Text="" OnClientClick="GetURL" runat="server"/> --%>
<%-- <u><b><asp:LinkButton OnClick="GetGuideMeURL" runat="server">Click here</asp:LinkButton></b></u> --%>
</div>
</asp:Content>
以上是我嘗試單擊按鈕/鏈接以調用背后代碼的 4 種不同方式。 我要么收到錯誤消息:
Uncaught TypeError: Cannot read properties of null (reading 'click')
at window.onload
或錯誤: The function GetURL cannot be found
我曾經遇到過這個錯誤,下面修復了它,不確定它是否適合你。
我使用 <%#CSCodeName() %> 這種格式來獲取后面的代碼,有時我必須添加一個像這樣的分號 <%#CSCodeName(); %>
所以,頁面要加載,然后顯示,然后我們要單擊一個按鈕並運行一些代碼。
但是,這意味着頁面將重新加載,並且在頁面加載后,您的代碼會再次運行,對嗎?
所以,必須有額外的信息才能正確回答這個問題。 您當然可以輕松觸發一些代碼,甚至讓這些代碼單擊隱藏按鈕以在代碼后面運行您的代碼存根。 但這當然會導致頁面回發,重新加載,現在我們回到頁面加載后 - 它剛剛做了,我們要再次運行代碼嗎?
那么,您在頁面加載后使用什么標准來運行,或者不再運行您想要的代碼? 如果沒有這個信息,那么頁面加載后,我們點擊那個隱藏的按鈕,然后頁面會再次加載,頁面加載后,代碼會一次又一次地點擊按鈕,對嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.