2011-12-06 7 views
0

するには、マウスイベントハンドラを割り当て、私は次のようしている:私のDefault.aspx.csで.NET/C#問題 - 私のdefault.aspxでハイパーリンク

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" 
    CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<h1>Database Exercise - Branches/Staff</h1> 
<p>Type a message to store</p> 
<input type="text" name="texth" /> 
<a id ="submit" onclick="Submit_Message()">Submit</a> 
</asp:Content> 

を私は

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication1 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     //test event handler - submit message 
     protected void Submit_Message(object sender, EventArgs e) 
     { 
      Console.Write("Hello"); 
     } 
    } 
} 

を持っていますアプリケーションを実行している時に私が取得:

のMicrosoft JScriptのランタイムエラー: 'Submit_Messageは'

01定義されていません

私が望むのは、リンクが押されたときにSubmit_Message()イベントハンドラが起動することです。何が間違っていますか?

答えて

2

<a id ="submit" onclick="Submit_Message()">Submit</a>は完全にクライアント側で処理されるため、サーバーでは決して処理されないため、onclickはSubmit_MessageというJavaScriptメソッドを指します。あなたは、サーバー側でイベントを起動し、リンクをしたい場合は

、代わりに<asp:LinkButton .../>を使用します。

<asp:LinkButton id="submit" runat="server" OnClick="Submit_Message" Text="Submit" /> 
2

をあなたので、Javascriptの関数を呼び出すことで、サーバー側のメソッドを呼び出すようにしようとしていますクライアント側とサーバー側を混在させます。ビューにLinkBut​​tonコントロール、およびそこでのonclickイベントを置く:

あなたはASPを使用することができます

<asp:LinkButton ID="LinkButton" runat="server" onclick="Submit_Message">Link</asp:LinkButton> 
0

あなたは、クライアント側のonclickイベントから、サーバー側のイベントハンドラを呼び出すことはできません。

あなたはrunat=server属性で、クライアントに標準のアンカー要素(<a>)をレンダリングし、このようハンドラの背後にあるコードにそのOnClickサーバー側のイベントをバインドする、などLinkButtonとして、ASPコントロールを使用する必要があります。

<asp:LinkButton runat="server" Text="Submit" OnClick="Submit_Message" /> 
関連する問題