来自OnServer的事件参数使用runat server单击HTML按钮

来自OnServer的事件参数使用runat server单击HTML按钮,html,asp.net,vb.net,visual-studio-2010,Html,Asp.net,Vb.net,Visual Studio 2010,我正在页面上使用引导html按钮。但我面临的问题是,我无法将任何参数传递给服务器端函数。 例如,这是我的HTML按钮代码 <button class="btn btn-primary" id="btn_save" runat="server" onserverclick="saveuser" clientidmode='Static'><i class="fa fa-save"></i>Save</button> 但我的要求是从onserve

我正在页面上使用引导html按钮。但我面临的问题是,我无法将任何参数传递给服务器端函数。 例如,这是我的HTML按钮代码

<button class="btn btn-primary" id="btn_save" runat="server"  onserverclick="saveuser"  clientidmode='Static'><i class="fa fa-save"></i>Save</button>
但我的要求是从onserverclick属性向这个save用户传递一个参数。我试过很多方法。。但是没有帮助


实际上,我的意图是从不同的按钮调用相同的函数,并根据传递的参数执行操作。

一种方法是通过按钮的ID进行区分。如果您有
onserverclick=“userbutton\u click”
,则可以在代码隐藏中执行此操作

Protected Sub userbutton_click(sender As Object, e As System.EventArgs)

    Dim myButton = CType(sender, HtmlButton)
    Dim buttonID = myButton.ClientID

    Select Case buttonID
        Case "btn_save"
            'Do something
        Case "btn_delete"
            'Do some other thing
        Case Else

    End Select

End Sub

在这里,我们使用
id
来区分按钮,它应该是唯一的。

这是一个好主意。。但这不是一个完美的方式。。不是吗?很抱歉我只是在想一个正确的方法来实现args和sender在一起..不,那不是。如果您使用的是
asp:Button
,事情会简单得多。我还想知道如何在这里发送args;)asp:buttons的主要缺点我想是它不可能将其他元素(如div或span…)封装在它里面。但是我们可以使用链接按钮来实现这一点。。但我用的是普通的按钮,老实说,没有任何具体原因:)在引导及其优先级按钮中工作。。我只是在考虑参数方法,因为使用单个函数,我们可以根据参数识别按钮,而不是编写dft单击事件。。对不起,我知道这可以通过很多方式实现,比如从不同的点击事件中调用按钮。。但是我正在检查这个arg方法的任何解决方案。这就是我转到
mvc
的原因。更理智的标记。我仍然喜欢网络表单。我从那里开始。所以…我在过去的8年里一直在使用经典的网络。。诚然,我很想从MVC开始,但我现在做的项目需要在classic.NET中。。。因此,没有机会或根本不知道MVC的任何内容:)我想这种方法是一种最佳解决方案,因为如果我传递参数1,我们只需要对不同的按钮使用1个服务器端函数,而不是对5-6个按钮使用不同的单击事件。。如果一个参数足够,为什么我们需要这些viewstate或隐藏字段。。这就是为什么我想..在服务器端点击这个特定的按钮时,您试图访问的数据已经存在,要么在viewstate中,要么存储在页面本身的一些基于输入的控件(如文本框、隐藏字段等)中-因为人们通常在页面加载或任何事件期间将其放在“那里”。因此,在特定按钮的回发上,您可以通过这种方式使用这些按钮。是什么使您希望所有这些数据都成为事件参数的一部分?请解释“传递参数1”的含义。首先,进一步解释如何将一些数据与按钮关联。
Protected Sub userbutton_click(sender As Object, e As System.EventArgs)

    Dim myButton = CType(sender, HtmlButton)
    Dim buttonID = myButton.ClientID

    Select Case buttonID
        Case "btn_save"
            'Do something
        Case "btn_delete"
            'Do some other thing
        Case Else

    End Select

End Sub