0

だから私はこの更新パネルを持っていて、うまくいっています。

    <div>
        <button id="foo" onclick="changeVal(this.id);">Send the ID "foo"...</button>
    </div>

<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Always"> 
<ContentTemplate> 

<div id="thethetext">
<asp:Literal ID="thetext" runat="server"></asp:Literal>
</div>

</ContentTemplate> 
<Triggers>
<asp:AsyncPostBackTrigger ControlID="myButton" EventName="Click"/>
</Triggers>
</asp:UpdatePanel>



   **<!-- MOVE BUTTON (ID="foo") OVER HERE TO DISPLAY IT UNDER THE LITERAL -->**

<asp:HiddenField ID="blah" runat="server" value="Initial Value"></asp:HiddenField>
<asp:Button ID="myButton" Text="Get Concatenated..." OnClick="Test" runat="server"></asp:Button>    
</form>

ただし、asp フォーム内にボタン (id "foo") を移動したいと考えています。そのため、リテラルユーザーコントロールの下に表示されます...しかし、そうすると、クリックするたびにページがリロードされます。それを回避する方法はありますか?ありがとう!

4

1 に答える 1

1

ボタンが配置したばかりのフォームを送信するため、ページがリロードされます。ボタンに属性typeを指定してbutton、送信されないようにします。

<div>
 <button type="button" id="foo" onclick="changeVal(this.id);">Send the ID "foo"...</button>
</div>

参考:W3C HTML 4.01仕様

于 2012-08-03T15:06:57.153 に答える