我遇到了ASP.net重定向问题。
下面的Copy()
方法是从带有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 :(得分:0)
这对我来说是一个愚蠢的错误。
Copy
操作是通过AJAX
调用的,但我忘了指定如何处理从操作返回的html
。
我现在正在使用window.location = "/DemandeDeMontage/Copy/" + id
。