2011-03-21 98 views
0

我有一個擁有自己視圖的控制器(MigrateAccountController)。它要求輸入用戶名和密碼,然後進行一些檢查。如果用戶退房,我會做一個return RedirectToAction("Register", "Account", user);如何在MVC3中使用一些數據填充文本框?

我想填充用戶名(它是一個RegisterModel類型)中包含的數據的用戶名和電子郵件文本框。我已經嘗試過我能爲「htmlAttributes」想到的每一個化身。一個例子是@Html.TextBoxFor(m => m.UserName), new { value = Model.UserName })

基本上我想爲兩件事情使用相同的看法。如果視圖傳遞了包含數據的模型,則使用該數據填充文本框。如果視圖沒有傳遞任何內容,則不做任何操作,並將文本框留空。這是可能的還是應該我分裂的意見?

回答

1

RedirectToAction發出服務器端重定向,指示瀏覽器在給定位置發出新請求。因此,在使用RedirectToAction的動作之間沒有傳遞模型(第三個參數用於RouteValueDictionary)。將模型保存在TempData中,然後將RedirectToAction保存,然後在該操作中從TempData中讀取模型。或者爲什麼不直接返回視圖而不是重定向。

+0

真棒,返回視圖很好。但是,現在當我到達註冊頁面時,我立即得到驗證錯誤。無論如何填充這些文本框沒有發射驗證錯誤,直到用戶嘗試發佈數據? – Pete 2011-03-21 05:11:02

+0

很難說沒有看到任何代碼或知道爲什麼你不想字段驗證。 – JeremyWeir 2011-03-21 05:14:37

+0

我確實希望他們驗證,但問題是我馬上得到驗證。在我的控制器中,我像你所說的那樣返回視圖。它顯示了除了驗證錯誤之外我想要如何。你需要什麼代碼?它幾乎就是當您啓動一個新的Web應用程序時出現的默認Register.cshtml。 – Pete 2011-03-21 05:19:43

相關問題