我正在使用ASP.Net创建一个应用程序,其中我在一个aspx页面上有一个超文本标记语言按钮。
<input type="submit" id="btnSubmit" runat="server"
style="background-image:url(App_Themes/default/Images/quiz_class/btn_submit.jpg);
width:80px; height:29px;" onserverclick="btnSubmit_ServerClick" />
但当我单击该按钮时,它不会调用aspx.cs页面上的btnSubmit_ServerClick事件。
我不想使用asp控制按钮。
请帮帮我..
发布于 2012-09-18 17:27:35
如果您可以通过指定runat="server"
将输入按钮转换为服务器端控件,并且您正在使用asp.net
,则可以选择使用HtmlButton.OnServerClick属性。
<input id="foo "runat="server" type="button" onserverclick="foo_OnClick" />
这应该会起作用,并在您的服务器端代码中调用foo_OnClick
。还要注意,根据上面链接的Microsoft文档,您还应该能够使用HTML4.0标记。
发布于 2013-06-20 23:15:01
在您的aspx页面上,定义HTML Button元素和常见的疑点: runat、class、title等。
如果此元素是数据绑定控件(例如:网格视图等)的一部分。您可能希望使用CommandName和可能的CommandArgument作为属性。添加按钮的内容和结束标记。
<button id="cmdAction"
runat="server" onserverclick="cmdAction_Click()"
class="Button Styles"
title="Does something on the server"
<!-- for databound controls -->
CommandName="cmdname">
CommandArgument="args..."
>
<!-- content -->
<span class="ui-icon ..."></span>
<span class="push">Click Me</span>
</button>
在代码隐藏页面上,元素将调用将被定义为元素的ID_Click事件函数的处理程序。
protected void cmdAction_Click(object sender, EventArgs e)
{
: do something.
}
还有其他的解决方案,比如使用自定义控件等。还要注意的是,我在VS2K8的项目中使用了这一点。
希望这能帮上忙。享受吧!
发布于 2011-08-25 20:57:14
完成此操作的最简单方法是覆盖RaisePostBackEvent方法。
<input type="button" ID="btnRaisePostBack" runat="server" onclick="raisePostBack();" ... />
在你的JavaScript中:
raisePostBack = function(){
__doPostBack("<%=btnRaisePostBack.ClientID%>", "");
}
在你的代码中:
protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
{
//call the RaisePostBack event
base.RaisePostBackEvent(source, eventArgument);
if (source == btnRaisePostBack)
{
//do some logic
}
}
https://stackoverflow.com/questions/7189037
复制相似问题