locked
gridview中Edit 時的alert RRS feed

  • 問題

  • RowCommand 中加入

    ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", alert('Testing'), True)

    效果可以出現javascript的alert, 但alert後,  Gridview中的Edit 欄位內容不能保留.

    請問有甚麼方法可以出現alert提示後, 保留Edit欄位的內容?

    2012年3月13日 上午 03:02

所有回覆

  • 你好,

    你可以尝试类似这样做下:

    <asp:TemplateField HeaderText="删除">
              <ItemTemplate>
                <asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="Delete" 
                  OnClientClick="return confirm('确实删除此会议室吗?');"/>
              </ItemTemplate>
            </asp:TemplateField>  


    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com
    Microsoft One Code Framework

    2012年3月14日 上午 08:49
    版主
  • 我不能使用這個方法,

    因為我需要在Backend判斷, 例如輸入的資料是在Database判斷是否正確, 之後就出現alert.

    所以不能只用javascirpt.

    2012年3月15日 上午 06:23
  • 你好,

    你可以创建一个webservice来做判断功能,然后配合上面代码使用应该就没问题。这样还可以在性能和体验上更好。


    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com
    Microsoft One Code Framework

    2012年3月15日 上午 06:26
    版主
  • 請問我的問題和Webservice 有甚麼關係? 你是否誤解我的問題?

    使用ClientScript.RegisterClientScriptBlock做出alert後, Gridview的Edit欄中的內容會消失了. 不能保留再修改.

    RowCommand的內容----------------------------------

     Dim ErrMsg As String = ""

            Dim ds As DataSet = daCmt.getFootNoteComment(xxx)

            If ds IsNot Nothing AndAlso ds.Tables.Count > 0 AndAlso ds.Tables(0).Rows.Count > 0 AndAlso ds.Tables(0).Rows(0)("RecId").ToString() <> RecId Then
                ErrMsg = "編號重複! 請重新輸入。"
            End If
            If ErrMsg <> "" Then
                ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", String.Format("alert('{0}');", ErrMsg), True)
                Exit Sub
            End If

    2012年3月16日 上午 08:29
  • 你好,

    你可以做个简单的website来重现你的问题,然后发给我,我会在我这边帮您调试好。

    我的邮箱:support-sotian@live.com.


    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com
    Microsoft One Code Framework

    2012年3月16日 上午 08:38
    版主
  • 可惜很難做一個簡單的website來重現的.
    2012年3月20日 上午 04:31
  • 我在處理這種問題時,會將要放到GridView的DataSource也放一份到Session之中,這個Session可能是DataTable或是DataSet

    當觸發RowCommand時,先一次將有Edit過的欄位值,放進在Session中的物件裡

    再進行您要觸發的判斷

    判斷完之後,再將這個Session Bind到GridView裡

    您可以試試這種作法

    比較花工,但是可能比較能達到您要的結果

    2012年9月18日 下午 12:58