asp.net中怎么可以把div标签当做服务器控件来使用呢?
比如打个比方,服务器控件双击的话,可以直接进入后台代码区,但是DIV默认的情况下是用户控件来使用的,但我想当做服务器控件使用并且可以产生单击事件.应该怎么做?不可以,我试...
比如打个比方,服务器控件双击的话,可以直接进入后台代码区,但是DIV默认的情况下是用户控件来使用的,但我想当做服务器控件使用并且可以产生单击事件.应该怎么做?
不可以,我试过了,不行啊!当双击的时候还是进入javaScript语言.跟本就不能在服务器端运行. 展开
不可以,我试过了,不行啊!当双击的时候还是进入javaScript语言.跟本就不能在服务器端运行. 展开
4个回答
展开全部
要单机事件!就要写成服务器控件!自己写个事件!
class Longn : WebControl, IPostBackEventHandler, INamingContainer
{
public Longn()
: base(HtmlTextWriterTag.Div)
{ }
private string Text
{
get;
set;
}
protected override void RenderContents(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.ClientID);
writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.AddAttribute(HtmlTextWriterAttribute.Onclick,Page.ClientScript.GetPostBackEventReference(this,"onclick"));
writer.AddAttribute(HtmlTextWriterAttribute.Value, "确定");
writer.AddAttribute(HtmlTextWriterAttribute.Type, "button");
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
// base.RenderContents(writer);
}
protected override void OnLoad(EventArgs e)
{
Text = HttpContext.Current.Request.Form[this.ClientID];
base.OnLoad(e);
}
public event EventHandler Onclick;
public void RaisePostBackEvent(string eventArgument)
{
if (Onclick != null)
{
Onclick(this, EventArgs.Empty);
OnBubbleEvent(eventArgument, new CommandEventArgs(Text, "ppp"));
}
}
protected override bool OnBubbleEvent(object source, EventArgs args)
{
bool fl = false;
CommandEventArgs cmd = args as CommandEventArgs;
if (cmd != null)
{
fl = true;
HttpContext.Current.Response.Write(cmd.CommandName);
}
return fl;
}
}
class Longn : WebControl, IPostBackEventHandler, INamingContainer
{
public Longn()
: base(HtmlTextWriterTag.Div)
{ }
private string Text
{
get;
set;
}
protected override void RenderContents(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.ClientID);
writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.AddAttribute(HtmlTextWriterAttribute.Onclick,Page.ClientScript.GetPostBackEventReference(this,"onclick"));
writer.AddAttribute(HtmlTextWriterAttribute.Value, "确定");
writer.AddAttribute(HtmlTextWriterAttribute.Type, "button");
writer.RenderBeginTag(HtmlTextWriterTag.Input);
writer.RenderEndTag();
// base.RenderContents(writer);
}
protected override void OnLoad(EventArgs e)
{
Text = HttpContext.Current.Request.Form[this.ClientID];
base.OnLoad(e);
}
public event EventHandler Onclick;
public void RaisePostBackEvent(string eventArgument)
{
if (Onclick != null)
{
Onclick(this, EventArgs.Empty);
OnBubbleEvent(eventArgument, new CommandEventArgs(Text, "ppp"));
}
}
protected override bool OnBubbleEvent(object source, EventArgs args)
{
bool fl = false;
CommandEventArgs cmd = args as CommandEventArgs;
if (cmd != null)
{
fl = true;
HttpContext.Current.Response.Write(cmd.CommandName);
}
return fl;
}
}
展开全部
在DIV中加上 runat="server" 如果要在后台访问,加id=“名字”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在DIV中加上 runat="server"
-----------------------------------
你还是多看书吧
要用容器类控件用<asp:Panel></asp:Panel>吧
-----------------------------------
你还是多看书吧
要用容器类控件用<asp:Panel></asp:Panel>吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
runat="server" id="divID",后台直接判断divID了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |