从客户端调用代码隐藏方法

Calling code behind method from Client

提问人:Farhan 提问时间:12/25/2013 更新时间:12/25/2013 访问量:1782

问:

显然这是一个非常简单的问题。我在 ASPX 页面上有一个按钮:

<input id="ok" type="button" name="ok" value="OK">

单击此按钮时,我想在代码后面调用一个方法并执行回发后记。

到目前为止,我发现的是使用等,但也知道Microsoft正在远离它。也许也可以工作,但我不确定如何做到这一点。__doPostbackClientScriptManager.GetPostBackEventReference

由于某些限制,我无法使用来自 jQuery 的 AJAX 调用。

C# asp.net .NET 客户端

评论

0赞 Juan 12/25/2013
你不能使用普通的asp:Button吗?
0赞 Farhan 12/25/2013
呃......该按钮由从数据库发送的 XML 生成。我可以发送一个完整的 <asp:button...标记。但是按钮事件将如何绑定到按钮呢?
0赞 Juan 12/25/2013
您是否在代码隐藏中构建按钮?
0赞 Farhan 1/25/2014
谢谢大家的回答。不幸的是,我无法完全描述我的确切场景,因为应用程序施加了一些限制。我已经对你的回答投了赞成票并结束了我的问题,因为它对其他人没有用。

答:

1赞 Pouya Samie 12/25/2013 #1

只需在此输入上添加标签,然后您就可以在代码后面访问它runat="server"

更新:如果要调用方法,请查看此示例。这个和这个

1赞 Pantelis Natsiavas 12/25/2013 #2

您也可以调用 http 处理程序。您还可以实现某种类型的 Web 服务,即 RESTSOAP

以上每个都可以使用在特定 html 按钮上注册的 javascript 事件(例如 onclick)调用,ASP.NET 页面生命周期之外。例如,您可以在 onclick 事件上调用此函数( 将替换为 http 处理程序的 URL 或相应的服务):targetURL

<button onclick="httpGetRequest('targetURL')">Click me</button>

function httpGetRequest(theUrl)
{
    var xmlHttp = null;

    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

希望我能帮到你!

2赞 Jha.prashant 12/25/2013 #3

您可以在 aspx 标记中使用:

<input id="ok" runat="server" onserverclick="btnOk_ServerClick" type="button" name="ok" value="OK">

并将此代码放在 ASPX Code Behind(.cs) 文件中:

 protected void btnOk_ServerClick(object sender, EventArgs e)
        {
}

评论

0赞 Farhan 12/25/2013
是的,我也开始思考这些方面。
1赞 Irfan TahirKheli 12/25/2013 #4

如果您能够生成asp:button,那么它对您来说将很容易。您可以将事件处理程序添加到动态生成的按钮中。即)

btnClick.OnClick += new EventHandler(btnClick_Click);


Protected void btnClick_Click(object sender, EventArgs e)
{
    // code goes here
}