2015-10-20 33 views
0

我用以下代碼創建了一個控制器。 **本例中我沒有使用任何模型。如何在asp.net中訪問另一個視圖上的一個視圖的數據mvc5

public ActionResult PersonalDetails() 
     { 
      return View(); 
     } 

     [HttpPost] 
     public ActionResult Thanks(FormCollection formcol) 
     { 

      return View(); 
     } 

也景色被添加爲PersonalDetails動作與下面的標記。

@{ 
    ViewBag.Title = "PersonalDetails"; 
} 

<h2>PersonalDetails</h2> 

@{ 
    ViewBag.Title = "PersonalDetails"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<h2>PersonalDetails</h2> 



@using (Html.BeginForm("Thanks", "DemoForms", FormMethod.Post)) 
{ 

    @Html.ValidationSummary() 

    <p> 
     Your Name : @Html.TextBox("FirstName") 
    </p> 
    <br /> 
    <p> 
     Your Name : @Html.TextBox("LastName") 
    </p> 
    <p> Your Phone : @Html.TextBox("Phone")</p> 
    <p> @Html.RadioButton("Gender", "Male", true) Male</p> 
    <br /> 
    <p>@Html.RadioButton("Gender", "Female", false) Female </p> 
    <p> @Html.CheckBox("Reading", true) Reading</p><br /> 
    <p> @Html.CheckBox("Cooking", false) Cooking</p><br /> 
    <p> @Html.CheckBox("Cooking", false) Painting</p><br /> 


    <p> 
     Would you like to participate in Survey? 
     @Html.DropDownList("ddlResponse", new[] 
    { 
     new SelectListItem() {Text="Yes", Value="Yes"}, 
     new SelectListItem() {Text="No", Value="No"} 
    }, "Choose an Option") 

    </p> 
    <input type="submit" value="Submit Invite" /> 

} 

當用戶在上面的視圖中輸入信息並點擊提交按鈕,它會重定向到感謝行動。 我想創建一個顯示此信息的感謝視圖。 請讓我知道如何顯示/訪問感謝視圖上的信息。

預先感謝您。

回答

2

一個典型的方法是將數據發送到服務器上的新視圖。有很多不同的模式。對於模型綁定,做這樣的事情:

[HttpPost] 
public ActionResult Thanks(FormCollection formcol) 
{ 
    ViewBag.ThanksData="data"; //add data as properties of ViewBag 

    return View(); 
} 

ViewBag

[HttpPost] 
public ActionResult Thanks(FormCollection formcol) 
{ 
    ThanksViewModel model=new ThanksViewModel(); 

    //add the data to the model 

    return View(model); //return the model with the view 
} 

如果你不使用你的視圖頁面的模型綁定功能,可以使用ViewBag總是傳遞數據只是一個內置的動態類型,您可以在其上存儲任何數據。然後,您可以使用標準剃鬚刀語法在視圖中渲染此數據。例如,在剃刀頁:

@{ 
    ViewBag.Title = "PersonalDetails"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<h2>PersonalDetails</h2> 
<p>@ViewBag.ThanksData</p> 
+0

謝謝馬修

<h2>@ViewData["Thanksdata"]</h2> 

差異,ViewBag解決了這個問題。只要知道,我們可以通過formcollection到一個視圖?或者我們必須使用viewdata/viewbag/tempdata等或模型綁定。 – mayurb

相關問題