1

次のように、内部にimgを含むdefault.aspxにdivがあります

 <div id="sTab" class="tabs firsttab" runat="server">
     <asp:Image ID="sTabImg"  src="images/home.png" runat="server" />
 Activities
</div>

ASP.NET (javascript ではありません) で div をクリックすると、何らかのアクションを実行したいと考えています。

私は次のことを試しました

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
    }

    sTabImg.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this, "ClickDiv");
}

protected void ClickDiv()
{
    Label2.Text = "helo got it";
}

ページが更新され、問題をデバッグすると、ClickDiv 関数に入らない..何が問題なのか..

4

2 に答える 2

4

ここから

public partial class _Default : System.Web.UI.Page, IPostBackEventHandler
{

    protected void Page_Load(object sender, EventArgs e)
    {
       div1.Attributes["onclick"]=ClientScript.GetPostBackEventReference(this,"ClickDiv");
    }

    protected void Div1_Click()
    {
      // Do something
    }

    #region IPostBackEventHandler Members

    public void RaisePostBackEvent(string eventArgument)
    {

      if (!string.IsNullOrEmpty(eventArgument))
      {

              if (eventArgument == "ClickDiv")
              {
                 Div1_Click();
              }
      }
    }

    #endregion
}

IPostBackEventHandlerインターフェイスを実装する必要があります。

于 2013-02-27T11:05:20.720 に答える
2

ImageButtonを使用しないのはなぜですか?

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ImageButton Sample</title>
<script language="C#" runat="server">

      void ImageButton_Click(object sender, ImageClickEventArgs e) 
      {
         Label1.Text = "You clicked the ImageButton control at the coordinates: (" + 
                       e.X.ToString() + ", " + e.Y.ToString() + ")";
      }

</script>

</head>
<body>
<form id="form1" runat="server">

  <h3>ImageButton Sample</h3>

  Click anywhere on the image.<br /><br />

  <asp:ImageButton id="imagebutton1" runat="server"
       AlternateText="ImageButton 1"
       ImageAlign="left"
       ImageUrl="images/pict.jpg"
       OnClick="ImageButton_Click"/>

      <br /><br />

      <asp:label id="Label1" runat="server"/>

   </form>

</body>
</html>

ここでいくつかの例を見ることができます。

于 2013-02-27T11:00:36.727 に答える