【问题标题】:How to Postback button html to server with javascript in asp.net如何在asp.net中使用javascript将按钮html回发到服务器
【发布时间】:2015-06-15 02:43:52
【问题描述】:

在我的 HTML 中:

<button type="submit"></button>
<asp:TextBox ID="_searchKeyword" runat="server" Width="450" Height="42"></asp:TextBox>
<div style="display:none">
    <asp:LinkButton ID="_searchLinkButton" OnClick="SearchButton" runat="server">Search</asp:LinkButton>
</div>

当我单击button 元素时,我希望将其回发到服务器并运行SearchButton 方法。

在我的代码后面:

protected void SearchButton(Object sender, EventArgs e)
{
    string typeValue = _hdDropDown.Value;
    if (typeValue == "All")
    {
        typeValue = String.Empty;
    }
}

我怎样才能做到这一点,我需要 JavaScript 吗?

【问题讨论】:

  • 你想要什么?该代码的等效代码,但使用纯 javascript 和 HTML?
  • 如果对应的链接按钮不可见,如何调用SearchButton函数?
  • @jack.the.rippe 我想在单击按钮元素时使用 javascript 调用函数 searchbutton

标签: javascript asp.net webforms postback


【解决方案1】:

我建议你使用旧的回发方法:

function callServer() {
__doPostBack('<%= myButton.UniqueID %>','');
}

【讨论】:

    【解决方案2】:

    你不能使用 Asp:Button 元素有什么原因吗?

    我的第一个建议是使用 Asp:Button 元素而不是您当前的设置,但如果由于某种原因您不能,那么我建议给按钮命名,然后使用 jQuery 您可以这样做:

    $('#submitbuttonid').click(function(){$('#_searchLinkButton').click();});
    

    或者在原生 JavaScript 中:

    var submitBtn = document.getElementById('submit buttonid');
    
        submitBtn.addEventListener("click", function(){
    var linkBtn = document.getElementById('_searchLinkButton');
    
    linkBtn.onClick();
    });
    

    【讨论】:

    • 它不起作用,SearchButton 方法没有运行
    • 对不起,我的错!我很好的原因是因为我在运行时会有所不同。将 ClientIDMode="Static" 添加到 asp: 元素时按 id 选择,或按类选择它们,或者您可以使用 '[id*=controlid]' 作为 jquery 选择器
    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多