2016-07-27 14 views
0

アクションからビューにモデルプロパティを渡す必要があります モデルプロパティの一部がユーザーによって埋められ、コードによっては埋められることがあります。アクション結果の値を表示に渡す方法

これはこれは、アクションコード名前、電子メールおよび電話番号は、ユーザによって入力されます

public class DocOnDemandController : Controller 
{ 
    // GET: Request 
    public ActionResult Index(string PdfUrl) 
    { 
     string Domain = Request.UrlReferrer.Host; 
     string PageUrl = Request.UrlReferrer.OriginalString; 
     DateTime Time = DateTime.Now; 

     ViewBag.PageUrl = PageUrl; 
     ViewBag.Domain = Domain; 
     ViewBag.PdfUrl = PdfUrl; 
     ViewBag.Time = Time; 

     return View(); 
    } 
} 

、 ドメイン、時間、pdfUrlある

public class DocOnDemandModel 
{ 
    public string Domain { get; set; } 
    public DateTime Time { get; set; } 
    [Required] 
    [Display(Name = "Name")] 
    public string Name { get; set; } 
    [Required] 
    [EmailAddress] 
    [Display(Name = "Email")] 
    public string Email { get; set; } 
    [Required] 
    [Display(Name = "Phone number")] 
    public string PhoneNumber { get; set; } 
    public string PdfUrl { get; set; } 
    public string PageUrl { get; set; } 
} 

私のモデルであり、PAGEURLが入力されます私のアクションコードで

今、私はDomain、Time、pdfUrlとPageUrlをViewに渡す必要があり、ViewBagで試しましたが、エラーが表示されました

my view:

誰かが私が問題を理解し、私はそれを修正する手助けを助けることはできますか?
ありがとうございます

+0

アクションメソッドからビューにモデルを直接渡すことができます。 –

+0

あなたのcontollerで文字列にキャストすると助けになるのでしょうか?例えば:ViewBag.Domain = Domain.ToString(); –

+0

1. ViewBagでできないことはありますか? 2.ビューが既にモデルを取得しているときにオブジェクトを渡すことはできますか? {@model FileRequest.Models.DocOnDemandModel} – barak

答えて

4

アクションメソッドから直接ビューにモデルを渡すことができます。

あなたのビューで次に
public ActionResult Index(string PdfUrl) 
{ 
    var model = new DocOnDemandModel(); 
    string Domain = Request.UrlReferrer.Host; 
    string PageUrl = Request.UrlReferrer.OriginalString; 
    DateTime Time = DateTime.Now; 

    model.PageUrl = PageUrl; 
    model.Domain = Domain; 
    model.PdfUrl = PdfUrl; 
    model.Time = Time; 

    return View(model); 
} 

@Html.LabelFor(m => m.Domain); 
+0

@model = DocOnDemandModel – schwindelig

0
@Html.Label((string)ViewBag.Domain) 
0

私はこのよう enter image description here

ない、それは正しい方法だが、それは、私のコードを仕事をやっている場合は必ずそれを処理するために管理同じまま。

+2

を設定することを忘れないでください。間違いなく正しい方法です。私はあなたの答えに応じて行くことをお勧めします。 –

関連する問題