2012-04-09 15 views
1

ASP.netリダイレクトに問題があります。ページがリダイレクトされていません

以下のメソッドは、ajaxを使用したグリッドのjavascriptボタンから呼び出され、正常に動作します。コントローラのCreateアクションにリダイレクトされます。

<AcceptVerbs(HttpVerbs.Post)> _ 
Sub Copy(ByVal noDemande As Integer) 
    Response.Redirect("/DemandeDeMontage/Create/" & noDemande) 
End Sub 

Createアクションは、私はデータベースに保存する前にフィールドを編集することができますページです。 Idが渡されると、フィールドは別のレコードの情報(コピーされた情報)であらかじめ埋められます。

<AcceptVerbs(HttpVerbs.Get)> _ 
Function Create(Optional ByVal id As Integer? = Nothing) As ActionResult 
    If (id Is Nothing) Then 
     Dim dmd As New DEMND_MONTG 
     Return View("Edit", dmd) 
    Else 
     Dim dmd As ODCT0124_DEMND_MONTG = _dmdMontRep.getDmdById(id) 
     dmd.CO_STAT = ModuleCommon.Status.AwaitingSave 
     Return View("Edit", dmd) 
    End If 
End Function 

上記のコードには誤りはありません。

デバッグすると、すべてがうまくいくようです。 Copyアクションが呼び出された後にCreateと表示され、その後エラーなしでEdit pageのHTMLコードを実行することができます。

ただし、ページは変更されません。!私はリダイレクトされていないようです。編集ページは表示されず、コピーできるすべてのレコードがあるグリッドを表示しているページに固執しています。

誰かが編集ページが表示されない理由を説明できますか?私は見ていない何かが本当に明白ですか?

+0

リターンRedirectToAction( "Index"、モデル)で試したことがありますか。 (または)View( "ViewName")を返します。 – coder

+0

'RedirectToAction()'はまったく同じことを行いますが、 'View()'はまったく動作しません。 'Create'アクションを呼び出すことさえしません – Msonic

答えて

0

これは私のところでは愚かなエラーでした。

CopyアクションはAJAXで呼び出されましたが、アクションから返されたhtmlの処理方法を指定するのを忘れていました。

私は代わりにwindow.location = "/DemandeDeMontage/Copy/" + idを使用しています。

関連する問題