2017-09-07 140 views
1

我正在設置一個頁面以允許用戶創建自己的游泳池線索。當他們從下拉列表中選擇他們想要的功能時,它需要更新屏幕上的價格,但不刷新整個頁面。我猜我會使用更新面板?不知道在哪裏以及如何添加它。傳遞給VB代碼的選定值是額外支付的價格(例如:節點提示額外10英鎊)。這裏是我迄今爲止..如何在使用DDL時刷新頁面而無需刷新頁面

前端

<asp:DropDownList ID="ddlJoint" runat="server" AutoPostBack="true" RenderMode="Partial" style="margin-bottom:10px" height="33px" font-size="1.6em" OnSelectedIndexChanged="ddlJoint_SelectedIndexChanged"> 
    <asp:ListItem Value="">Cue Joint:</asp:ListItem> 
    <asp:ListItem Value="10">3/4 Join</asp:ListItem> 
    <asp:ListItem Value="0">One Piece</asp:ListItem> 
</asp:DropDownList> 
<br> 
<asp:Label ID="lblTotal" runat="server" Text="Price:"></asp:Label> 

VB

Protected Sub ddlJoint_SelectedIndexChanged(sender As Object, e As System.EventArgs) 
    session("joint") = ddlJoint.SelectedValue 
    session("total") = session("joint") + session("tip") 
    lblTotal.Text = session("total") + 180 
End Sub 

回答

0

使用更新面板是一個偉大的則是「避免」不必線了自己的AJAX調用和更新。

它擺脫了後備相當不錯。 (因此,點擊瀏覽器後退按鈕不會返回給定網頁的上一個回帖)。

做一個空白的測試web窗體。

在網頁窗體設計模式,簡單地說:

從工具盒,只需拖動+在紙條經理掛斷。 (您可以搜索在搜索框中腳本,但你會發現這下AJAX擴展。

現在拖放在一個更新面板 (同樣你覺得這下AJAX擴展)。

現在一個按鈕下降,更新面板的另一個按鈕文本框更新面板的「內部」。

爲了好玩,讓我們低於(外)。

的第一個按鈕雙擊(彈出VB代碼編輯器) 。

只需輸入此代碼:

me.TextBox1.Text = "post without post back" 

該按鈕再次雙擊後面,寫這樣的代碼

me.TextBox1.Text = "post back" 

你的表格看起來就像這樣:

enter image description here

注當您單擊更新面板內的按鈕時,瀏覽器不會顯示或「點亮」後退按鈕。

但是,如果您點擊更新面板之外的按鈕,則會看到瀏覽器「旋轉」 - 發生回發並且後退按鈕變爲活動狀態。

對於您現有的頁面,您可以放置​​在靠近頂部的腳本管理器中。

然後您的控件放在更新面板中。

然後選擇您想要的控制和拖動+下降(或連斬+粘貼到更新面板區域)。

的上述好處是,你真的沒有改變你的編碼習慣或學習JavaScript的網頁,以「線」更新區域,而背上後,該更新。

產生的vb.net代碼如下所示:

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Me.TextBox1.Text = "hello" 
End Sub 

Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    Me.TextBox1.Text = "hello with post" 
End Sub