【解決方法】href onclick イベントで ac# 関数を呼び出す方法

プログラミングQA


ASP.NET
<a href="#"  runat="server"  önclick="<% getPKWhales();%>" style="height:7px;width:40px;border:outset">PK</a>

関数

C#
public void getPKWhalse()
    {
        SessionHandler.wMenu = SessionHandler.MenuVariable.WHALES;
        Session["who"] = "pkwhales";
        SessionHandler.RedirectPage("~/form/whales.aspx");
    }

上記の getPKWhale() 関数を href タグの onclick イベントで呼び出すことができますか?
私のプロジェクトで機能していない、他にやりたいこと、その関数を呼び出す

解決策 3

このイベントはクライアント側で処理されます。 「C#」はサーバーサイドを意味します。 したがって、原則として、あるメソッドを別のメソッドで呼び出すことはできません。 全体的な考え方は、ブラウザーが HTTP サーバーでどのように機能するか、または呼び出しとは何かを理解していないことを意味します。

ただし、JavaScript から HTTP 要求を送信し、Ajax を使用して HTTP 応答を取得することはできます。

参照してください:
http://en.wikipedia.org/wiki/Ajax_%28programming%29[^]、
http://www.asp.net/ajax[^]、
http://ajax.net-tutorials.com/[^].

Ajax の jQuery 実装 (またはラッパー ライブラリ) を使用できます。
http://en.wikipedia.org/wiki/JQuery[^]、
http://jquery.com/[^]、
http://api.jquery.com/category/ajax/[^].

-SA

解決策 1

javascript によるコード ビハインドにアクセスすることはできません。 javascript はサーバーではなくクライアントで実行されます。 ajax を使用して、やりたいことを実行できます。 以下のリンクを参照してください。

アヤックス

——————–
よろしく

H.マーダニ

解決策 4

アンカー タグを使用して C# 関数を呼び出すクライアント側コードを次に示します。

XML
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function checkMe() {
            alert("hello");
            PageMethods.MyCSharpMethod("cSharp", onComplete);
        }
        function onComplete(result, response, content) {
            alert(result);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <div>
        <a href="javascript:;" onclick="checkMe();" runat="server">PK</a>        
    </div>
    </form>
</body>
</html>

C# 関数

C#
[System.Web.Services.WebMethod]
   public static string MyCSharpMethod(string cSharpeParam)
   {
       return cSharpeParam;
   }

解決策 2

<script runat="server"> 
 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
       getPKWhalse();

    } 
</script> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Click Server Button Evnet By JavaScript</title> 
    <script language="javascript" type="text/javascript"> 
        function fireServerButtonEvent(){ 
            document.getElementById("btnSubmit").click(); 
        } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:label id="lblMessage" runat="server" text="" xmlns:asp="#unknown"></asp:label>     
     
    <asp:button id="btnSubmit" runat="server" text="Submit" xmlns:asp="#unknown">
            onclick="btnSubmit_Click" style="display:none" /> 
            <a href="http://www.asp.net" onclick="fireServerButtonEvent()">Go!</a> 
    </asp:button></div> 
     
    </form> 
</body> 
</html>

解決策 5

XML
the asp page:

<a href=""#"" runat=""server"" onserverclick=""getPKWhales"" style=""height:7px;width:40px;border:outset"&gt;PK&lt;/a&gt;</pre><br" mode="hold" />
the code behind:

public void getPKWhalse(object sender, EventArgs e)
    {
        SessionHandler.wMenu = SessionHandler.MenuVariable.WHALES;
        Session["who"] = "pkwhales";
        SessionHandler.RedirectPage("~/form/whales.aspx");
    }

コメント

タイトルとURLをコピーしました