从html按钮控件调用服务器端事件

jit*_*dra 24 html asp.net

我正在使用ASP.Net创建一个应用程序,其中我在aspx页面上有一个HTML按钮.

<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" />
Run Code Online (Sandbox Code Playgroud)

但是当我点击按钮然后它没有在aspx.cs页面上调用btnSubmit_ServerClick事件.

我不想使用asp控制按钮.

请帮忙..

Hit*_*ama 38

如果您可以通过指定runat="server"和使用将输入按钮转换为服务器端控件,则asp.net可以使用HtmlButton.OnServerClick属性.

<input id="foo "runat="server" type="button" onserverclick="foo_OnClick" />
Run Code Online (Sandbox Code Playgroud)

这应该工作并调用foo_OnClick您的服务器端代码.另请注意,基于上面链接的Microsoft文档,您还应该能够使用HTML 4.0标记.


Ray*_*ata 5

在您的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>
Run Code Online (Sandbox Code Playgroud)

在页面后面的代码中,元素将调用将被定义为元素的ID_Click事件函数的处理程序.

protected void cmdAction_Click(object sender, EventArgs e)
{
: do something.
}
Run Code Online (Sandbox Code Playgroud)

还有其他解决方案,如使用自定义控件等.另请注意,我在VS2K8中的项目中使用此实时.

希望这会有所帮助.请享用!


Bra*_*che 0

请遵循本教程:http://decoding.wordpress.com/2008/11/14/aspnet-how-to-call-a-server-side-method-from-client-side-javascript/

旁注:ASP.NET 生成一个客户端 JavaScript 函数,您可以从自己的函数中调用该函数来执行您想要的回发。

-- 有关劫持回发事件的更多信息: