ช่วยทีครับ html control อ่ะ สั่งให้มันทำงานแบบ asp control ได้ไหม
คืออย่างงี้อ่ะ ผมอ่ะ จะทำปุ่มรูปภาพ ที่เวลาเอาเมาไปวางด้านบนแล้ว ภาพมันจะเปลี่ยนไป
แต่พอคลิก ผมต้องการให้มันเข้า event on clink
แต่ว่าปุ่มภาพ asp.net มันไม่มีอีเว็น ออนเมาส์โอเวอร์
ถ้าใช้image ของ html มันก็เปลี่ยนภาพได้โดยjavascript แต่จะให้มันทำงานเหมือนปุ่ม asp.net control ได้ไหม
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
namespace MyCustomControls
{
[
DefaultProperty("Text"),
ToolboxData("<{0}:RolloverImageButton runat=\"server\" />")
]
public class RollOverImageButton : ImageButton
{
public RollOverImageButton()
{
//
// TODO: Add constructor logic here
//
}
[
Bindable(true),
Browsable(true),
Category("Appearance"),
DefaultValue(""),
Description("Gets or sets the location of an image to display in the System.Web.UI.WebControls.Image control."),
Localizable(true)
]
public virtual string ImageOverUrl
{
get
{
if (null == ViewState["ImageOverUrl"])
return string.Empty;
else
return Convert.ToString(ViewState["ImageOverUrl"]);
}
set { ViewState["ImageOverUrl"] = value; }
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute("onmouseover", "this.src='" + base.ResolveClientUrl(ImageOverUrl) + "'");
writer.AddAttribute("onmouseout", "this.src='" + base.ResolveClientUrl(ImageUrl) + "'");
base.AddAttributesToRender(writer);
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MyCustomControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RollOverImageButton RollOver = new RollOverImageButton();
RollOver.ImageUrl = "~/images/pic1.gif";
RollOver.ImageOverUrl = "~/images/pic2.gif";
RollOver.Click += new ImageClickEventHandler(RollOver_Click);
Page.Form.Controls.Add(RollOver);
}
public void RollOver_Click(Object sender, EventArgs e)
{
//do something here
}
}
ปล.วิธีที่ 2 ผมทำแล้วแต่ไม่ผ่าน
<%@ Register TagName="MyControls" Namespace="MyCustomerControls" %>
แต่พอ
<MyControls:RollOverImageButton runat="server" id="RollOver" ImageUrl="~/images/pic1.gif" ImageOverUrl="~/images/pic2.gif" />
เสร็จ Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Unknown server tag 'MyControls:RollOverImageButton'.